Information Processing Apparatus, Information Processing Method, and Computer Program

ABSTRACT

A configuration is provided in which a device in a home network receives content from a server outside the home network and plays the content. A home IMS gateway maps an external server outside the home network as a virtual home network device, and executes a process of receiving a content providing service provided by the external server by using mapping information. Furthermore, switched reception of multicast distribution content provided by the external server and unicast distribution content is executed.

TECHNICAL FIELD

The present invention relates to information processing apparatuses,information processing methods, and computer programs. Particularly, thepresent invention relates to an information processing apparatus, aninformation processing method, and a computer program for implementinguse of data supplied from outside a home network at a device in the homenetwork.

BACKGROUND ART

With the spread of PCs and digital home appliances, it is becoming areality to interconnect these devices via a home IP (Internet Protocol)network and to share and enjoy digital content, such as video, audio,and pictures. For example, DLNA (Digital Living Network Alliance)defines technical specification and implementing guideline needed forsharing digital content among these digital devices so that it ispossible to interconnect devices of different vendors with each other,and DLNA has become as an industry standard of home IP networks.

FIG. 1 shows an example of a home network 100 proposed by DLNA. A DVR(Digital Video Recorder) 101 and a PC 102 with a built-in TV tuner, asdigital video content recording apparatuses, are capable of receivingsatellite and terrestrial analog broadcasting and digital broadcasting,and record and save broadcast programs on built-in hard disk recorders.In DLNA, a device that stores content and that provides the content todevices in a home network is called a digital media server (DMS). InFIG. 1, the DVR 101 and the PC 102 are DMSs.

A DMS is capable of performing streaming transmission of, for example,video content of a TV program recorded on a hard disk to a digital mediaplayer (DMP) connected via a home IP network. The digital media player(DMP) is a device that receives content from a DMS and plays thecontent.

In the example shown in FIG. 1, a DMP is implemented on a TV 103, and,for example, by using an infrared remote controller or the like of theTV 103, a user can operate the TV 103 to play video content stored onthe PC 102 or the DVR 101 placed in a remote room. Note that aresidential gateway (RG) 104, which is used as a network connectingdevice in a case where a device in a home is connected to an IPbroadband network 120 as the Internet, is used as a bridge for IPconnection of a device in a home in the example of use of DLNA.

Meanwhile, a revolution is seen in broadcasting systems, and IPTVservices, VOD (Video On Demand) services, and so forth that transmitvideo content via IP broadband networks, which has hitherto beenbroadcast using terrestrial waves or satellites, are coming to becommercialized. FIG. 2 shows a schematic diagram of IPTV and VODservices.

In a home, an STB (Set Top Box) 105 is installed so that it is possibleto receive via the RG (Residential Gateway) 104 and via the IP broadbandnetwork 120 content based on services from various IPTV serviceproviding servers 121 a1 to an and VOD service providing servers 122 b1to bn. The STB (Set Top Box) 105 has a function of receiving videoinformation, application executing functions needed for commandtransmission and reception, for MPEG decoding, and also for playing ofreceived data, and so forth.

The residential gateway (RG) 104, in some cases, receives services(content) provided by a plurality of IPTV service providing servers 121or VOD service providing servers 122 via the same agent, for example, anaccess line providing company such as a telephone company or a CableTVcompany, and in other cases, receives individual services separately.However, it is necessary that the STB (Set Top Box) 105 itself, used bythe user, is configured as a system supporting an IPTV service of aconnection destination.

As such IPTV services and VOD services become common in the future,similarly to the conventional sharing and viewing by DLNA devices of TVbroadcast content as ordinary broadcast broadcasting, user's need arisesfor using video content provided from IPTV services on DLNA devices.

As proposed solutions for meeting such demand, a method in which adevice having a large-capacity hard disk, such as a home server,downloads video content from an IPTV service and shares the videocontent in a home network, or a method in which a protocol, mediaformat, and so forth of an IPTV service are converted at a residentialgateway (RG) into a protocol and media format of a DLNA device and theIPTV service is provided to a home network connecting device, isconceivable. Note that a home-network embedded module that executes aformat converting process is described in Patent Document 1.

However, in the former case, a time for downloading is needed fortemporary storage at a home server, so that it is difficult to enjoyvideo when desired, which is possible with a video on demand service,and it is not suitable for live viewing. In the latter configuration inwhich processing is executed by a residential gateway (RG), it isnecessary that the residential gateway (RG) executes protocol conversionand media conversion, so that high-performance hardware is needed andsoftware becomes complex, and the RG becomes expensive.

Generally, in many cases, an RG is supplied from an access lineproviding company (telephone company or the like) of a broadbandnetwork, and this becomes an obstacle in a case where IPTV services areprovided on the open Internet, for example, IPTV services available forthe user are limited to the vendor provided by the access line. Althoughit is possible to provide a new gateway device in a home IP networkseparately from the residential gateway (RG), in this case, depending onthe network topology, content streaming data is transmitted induplicates in the home network, so that such a situation occurs that aband in the home network is used in vain.

Note that an example of connection between a DLNA device in a homenetwork and a content distribution service on the Internet is the Viiv(registered trademark) technology of the U.S. Intel Corporation. Viiv isconsidered as a platform of PC hardware and software, and is intendedfor stream viewing of content on a PC from the Internet by a Dual Corehigh-performance CPU. At the same time, Viiv has a DLNA function, andserves as a DLNA media server that performs streaming of contenttemporarily downloaded from the Internet to the PC to another DLNAdevice.

Patent Document 1: Japanese Unexamined Patent Application Publication(Translation of PCT Application) No. 2005-531231

DISCLOSURE OF INVENTION Technical Problem

As described above, in a case where content provided by IPTV services orVOD services is also to be used by a DLNA device similarly to TVbroadcasting content as ordinary broadcast broadcasting, in existingnetwork configurations, it is necessary to download content in advanceat a digital media server (DMS), such as a PC, a DVR, or the like in ahome network, or to provide a residential gateway (RG) with protocol andmedia conversion functions. The former case lacks real-timecharacteristics, so that it is unsuitable for a streaming playingprocess or the like, and the latter case leads to the problem ofincreased cost.

The present invention has been made in view of the problems describedabove, and it is an object thereof to provide an information processingapparatus, an information processing method, and a computer program withwhich it is possible to view content provided by an external serveroutside a home network, such as an IPTV service, by using an existingDLNA device in, for example, an open Internet connection environmentthat does not depend on infrastructure such as an access line andgateway to the Internet.

Technical Solution

A first aspect of the present invention is an information processingapparatus characterized by comprising:

a communication unit that executes a communication process via a homenetwork; and

a data processing unit that executes a process of receiving a contentproviding service provided by an external server existing outside a homenetwork, by using mapping information in which the external server isset as a virtual home network device,

and characterized in that the data processing unit is configured to:

execute switched reception of multicast distribution content provided bythe external server and unicast distribution content.

Furthermore, an embodiment of the information processing apparatusaccording to the present invention is characterized in that the dataprocessing unit is configured to execute a process of, on occasion ofreception of multicast distribution content provided by the externalserver, sending an IGMP (Internet Group Management Protocol)-joinmessage to the external server or a management server as a messageaccording to IGMP, and in a case where the reception of multicastdistribution content is to be stopped and reception of unicastdistribution content is to be started, sending an IGMP leave message tothe external server or the management server as a message according toIGMP.

Furthermore, an embodiment of the information processing apparatusaccording to the present invention is characterized in that the dataprocessing unit is configured to execute a process of receivingmulticast distribution content in reception of TV broadcasting, andexecute a process of switching to unicast distribution on occasion ofexecution of VoD (Video on Demand).

Furthermore, an embodiment of the information processing apparatusaccording to the present invention is characterized in that the dataprocessing unit is configured to execute a process of switching tounicast distribution on occasion of an nPVR (network Personal VideoRecording) executed as a user-specific content recording process.

Furthermore, an embodiment of the information processing apparatusaccording to the present invention is characterized in that the dataprocessing unit is configured to execute a process of switching tounicast distribution on occasion of execution of a trick play as aspecial content playing process.

Furthermore, an embodiment of the information processing apparatusaccording to the present invention is characterized in that the dataprocessing unit is configured to execute a process of switching tounicast distribution as a process for receiving a content listcorresponding to a user profile or a client profile.

Furthermore, a second aspect of the present invention is an informationprocessing method executed at an information processing apparatus,characterized by executing:

a communication step in which a communication unit executes acommunication process via a home network;

a content receiving step in which a data processing unit executes aprocess of receiving content provided by an external server existingoutside a home network, by using mapping information in which theexternal server is set as a virtual home network device; and

a content switching process step in which the data processing unitexecutes switched reception of multicast distribution content providedby the external server and unicast distribution content.

Furthermore, an embodiment of the information processing methodaccording to the present invention is characterized in that the contentswitching process step is a step of executing either, on occasion ofreception of multicast distribution content provided by the externalserver, sending an IGMP (Internet Group Management Protocol)-joinmessage to the external server or a management server as a messageaccording to IGMP, or in a case where the reception of multicastdistribution content is to be stopped and reception of unicastdistribution content is to be started, sending an IGMP leave message tothe external server or the management server as a message according toIGMP.

Furthermore, an embodiment of the information processing methodaccording to the present invention is characterized in that the dataprocessing unit executes a process of receiving multicast distributioncontent in reception of TV broadcasting, and executes a process ofswitching to unicast distribution on occasion of execution of VoD (Videoon Demand).

Furthermore, an embodiment of the information processing methodaccording to the present invention is characterized in that the dataprocessing unit executes a process of switching to unicast distributionon occasion of an nPVR (network Personal Video Recording) executed as auser-specific content recording process.

Furthermore, an embodiment of the information processing methodaccording to the present invention is characterized in that the dataprocessing unit executes a process of switching to unicast distributionon occasion of execution of a trick play as a special content playingprocess.

Furthermore, an embodiment of the information processing methodaccording to the present invention is characterized in that the dataprocessing unit is configured to execute a process of switching tounicast distribution as a process for receiving a content listcorresponding to a user profile or a client profile.

Furthermore, a third aspect of the present invention is a computerprogram for causing execution of information processing at aninformation processing apparatus, characterized by causing execution of:

a communication step of causing a communication unit to execute acommunication process via a home network;

a content receiving step of causing a data processing unit to execute aprocess of receiving content provided by an external server existingoutside a home network, by using mapping information in which theexternal server is set as a virtual home network device; and

a content switching process step of causing the data processing unit toexecute switched reception of multicast distribution content provided bythe external server and unicast distribution content.

Note that the computer program according to the present invention is acomputer program that can be provided, for example, to a general-purposecomputer system capable of executing various program codes via a storagemedium or communication medium that provides the program in acomputer-readable format. By providing such a program in acomputer-readable format, a process according to the program isimplemented on the computer system.

Other objects, features, and advantages of the present invention willbecome apparent from more detailed description based on embodiments ofthe present invention described later and the accompanying drawings.Note that in this specification, a system is a logically combinedconfiguration of a plurality of apparatuses, and is not limited to onein which the constituent apparatuses exist within the same case.

ADVANTAGEOUS EFFECTS

According to the configuration of the present invention, it becomespossible for a DMP as a content playing apparatus, which is a clientdevice in a home network, to receive content from a content providingserver outside the home network and to play the content. That is, a homeIMS gateway, which is an information processing apparatus according tothe present invention, executes communication with a content providingserver to map the content providing server as a virtual home networkdevice, and in response to reception of a device discovery request froma content playing apparatus in a home network, the home IMS gatewayprovides the content playing device with server information of thecontent providing server as information of a device that is allowed toreceive a service. Furthermore, by executing switched reception ofmulticast distribution content provided by the external server andunicast content, it becomes possible to receive content with increasedflexibility on the client side.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram showing an example of a home network proposed byDLNA.

FIG. 2 is a diagram showing a schematic diagram of IPTV and VODservices.

FIG. 3 is a diagram for explaining an example configuration of aninformation communication system according to the present invention.

FIG. 4 is a diagram for explaining functional components according tothe DLNA guideline, to which DLNA devices conform.

FIG. 5 is a diagram showing an example hardware configuration of a homeIMS gateway.

FIG. 6 is a diagram for explaining an example configuration of softwaremodules of a home IMS gateway.

FIG. 7 is a diagram for explaining a sequence of a procedure forsubscribing to an AS (IPTV).

FIG. 8 is a diagram for explaining a sequence of a procedure forsubscribing to an AS (IPTV).

FIG. 9 is a diagram for explaining an example of a sequence of usingcontent provided by an AS (IPTV).

FIG. 10 is a diagram for explaining an example of a sequence of usingcontent provided by an AS (IPTV).

FIG. 11 is a diagram for explaining an overview of data communication ina content using process.

FIG. 12 is a diagram for explaining an example configuration of softwaremodules of a home IMS gateway.

FIG. 13 is a diagram for explaining an example of a sequence of usingcontent provided by an AS (IPTV).

FIG. 14 is a diagram showing an example of a service screen provided byan AS (IPTV) and a screen display on occasion of a streaming playingprocess.

FIG. 15 is a diagram for explaining components of an IPTV terminalfunction, which is a function needed for receiving an IPTV service.

FIG. 16 is a diagram for explaining CSCF, HSS, and AS, which are mainfunctions of an IMS (IP Multimedia Subsystem).

FIG. 17 is a diagram for explaining functions used in a networkconfiguration in order to receive an IPTV service at a device in a homenetwork.

FIG. 18 is a diagram for explaining a process of managing quality ofcommunication data.

FIG. 19 is a diagram for explaining a communication sequence executed bya client in order to receive an IPTV service.

FIG. 20 is a diagram for explaining a communication sequence executed bya client in order to receive an IPTV service.

FIG. 21 is a diagram for explaining a communication sequence executed bya client in order to receive an IPTV service.

FIG. 22 is a diagram for explaining a communication sequence executed bya client in order to receive an IPTV service.

FIG. 23 is a diagram for explaining a communication sequence executed bya client in order to receive an IPTV service.

FIG. 24 is a diagram for explaining a network connecting processsequence of a client for receiving an IPTV service.

FIG. 25 is a diagram for explaining a network connecting processsequence of a client for receiving an IPTV service.

FIG. 26 is a diagram for explaining a network connecting processsequence of a client for receiving an IPTV service.

BEST MODE FOR CARRYING OUT THE INVENTION

Hereinafter, with reference to the drawings, an information processingapparatus, an information processing method, and a computer programaccording to the present invention will be described in detail. Thedescription will be given in order regarding the following items.

1. Configuration for receiving an IPTV service by a device in a homenetwork

2. Description of functions applied to an IPTV service

3. Regarding specific process example of an IPTV service

3-1. Regarding specific process example of a communication process

3-2. Regarding specific process examples of various types of services

[1. Configuration for Receiving an IPTV Service by a Device in a HomeNetwork]

First, with reference to FIG. 3, an example configuration of aninformation communication system according to the present invention willbe described. IPTV service systems have been developed andcommercialized by various vendors, such as U.S. Microsoft Corporation.In this embodiment, description will be given regarding an example wherean IPTV service architecture that uses an IP multimedia subsystem (IMS)is used.

IMS has originally been developed by 3GPP (3rd Generation PartnershipProject), which is a project for standardizing 3rd generation mobilecommunication systems, as base technologies for providing, for example,push to talk conference systems, which enable conversation by three ormore cellular phones, communication such as instant messages, andmultimedia additional services in voice telephony services on wirelesscommunication infrastructure for cellular phones.

IMS is based on IP technologies, and is highly compatible with Internetinfrastructure for fixed communication systems. In the midst of movementfor integrating wired and wireless communication network infrastructure,called FMC (Fixed Mobile Convergence), attention is being given to IPTVsystems that use IMS.

IMS is composed of functional elements such as a home subscribersubsystem (HSS) and an application server (AS), with a functionalcomponent called CSCF (Call Session Control Function) as a core, whichis based on SIP (Session Initiation Protocol) defined by RFC-3261 ofIETF (The Internet Engineering Task Force).

An IMS network 230 shown in FIG. 3 includes a CSCF 231, an HSS 232, andan AS (IPTV) 233 as these individual functional elements, and itprovides services to a cellular phone 260 via a mobile phone network240.

The CSCF 231 performs user registration and session setting control onthe basis of SIP (Session Initiation Protocol). Furthermore, it executesactivation of service processes needed according to setting of a userprofile registered in the HSS 232. The HSS 232 includes databases formanagement of user IDs used in IMS, management of profiles of servicesthat each user subscribes to, management of authentication information,management as to whether use of each IMS service is allowed, andmanagement of user movement. The AS 233 is a server that executesprocesses of individual services, and it is activated by the CSCF 231 inaccordance with the service subscription status of each user to provideservices to the user.

As described above, in IMS, a terminal for which a user ID has been setaccesses the CSCF 231 to perform terminal registration and sessionsetting control, services needed are activated according to setting of auser profile registered in the HSS 232, and the AS 233 actually executesprocesses of individual services.

For example, a representative example of a service that uses IMS is“Push To Talk”. In “Push To Talk”, a user terminal is configured toconnect to an application server (AS) AS that executes a “Push To Talk”service in the IMS network 230, establish sessions with a plurality ofmembers from the AS with registered group members, and performconversation among the members via a relaying server using VoIP (Voiceover IP).

In an IPTV viewing service, an AS for an IPTV service, set in the IMSnetwork 230, is used. The AS (IPTV) 233 shown in FIG. 3 corresponds toan AS that executes the IPTV service. The AS 233 actually executes aservice for the user terminal in cooperation with an IPTV service 250 asan entity that executes the IPTV service, i.e., an entity that providescontent.

The IPTV service 250 includes an EPG server 251, which is a server thatprovides an EPG (Electronic Program Guide), i.e., program informationguide such as a content list, and a video server 252, which is a serverthat provides video content, and it implements a service of providing acontent list and a service of providing content to the user terminal bycooperation between the respective servers and the AS (IPTV) 233 of theIMS network 230.

In the system of the present invention, a home network 210, as its basicconfiguration, is configured by a conventional-type home networkdescribed earlier with reference to FIGS. 1 and 2, i.e., by existingDLNA (Digital Living Network Alliance) devices. FIG. 3 shows aresidential gateway (RG) 211 used as a bridge, which is a networkconnecting device for connecting a device in the home network to an IPbroadband network 221, a home IMS gateway 212 that executes a processfor allowing a device in the home network 210 (e.g., a content playingdevice such as a TV (DMP) 213) to use a service provided by a serveroutside the home network, and a TV 213 as a digital media player (DMP),which is a client device that receives and plays content.

The broadband IP network 220 is a network, such as the Internet, thatallows mutual communication among the IPTV service 250, the IMS network230, and the home network 210.

Note that in the system of the present invention, the home IMS gateway212 is set as a terminal that receives an IMS network service. In thehome IMS gateway 212, an IMS user ID is set. That is, a user ID and auser profile of the home IMS gateway 212 are registered in the homesubscriber subsystem (HSS) 232 of the IMS network 230.

The home IMS gateway 212 receives an IPTV service by executing a processsimilarly to a case where the cellular phone 260 executes an IPTVservice. That is, it accesses the CSCF 231 and performs terminalregistration and session setting control, activates services neededaccording to setting of the user profile registered in the HSS 232, andreceives a service using the AS (IPTV) 233. In addition to the functionof connecting to an IMS service as described above, the home IMS gateway212 executes a gateway function for access by a DLNA device, such as theTV (DMP) 213 shown in the figure, to video content provided by the IPTVservice 250. That is, the home IMS gateway 212 has the followingfunctions:

(a) Function for connecting to an IMS service

(b) Gateway function

These functions are implemented using a network communication function,a basic configuration of an information processing apparatus, andsoftware. The home IMS gateway 212 can be implemented on various devicesconnected to an existing home IP network having a network communicationfunction.

Note that in a case where the home IMS gateway 212 executes a process ofrelaying video content or the like provided by the IPTV service 250 to aDLNA device, such as the TV (DMP) 213 shown in the figure, the followingfunction is further provided:

(c) DMS function as a function for executing a content providing process

However, this function is not necessary, and such a configuration ispossible that transmission and reception of content are executed bycommunication between a DMP as a DLNA device and an external serverwithout the home IMS gateway 212 intervening therebetween. In this case,the home IMS gateway 212 need not have the DMS function. Specificprocess configurations of these will be described later.

By setting the home IMS gateway 212 having a function for receiving anIMS network service in the home network, it becomes possible for anexisting DLNA device (e.g., the TV (DMP) 213 shown in the figure) toreceive IPTV video content by a process substantially similar toreceiving content provided from the home IMS gateway 212.

It becomes possible for the TV (DMP) 213, which is a client device inthe home network, to execute an IPTV service executed as a process ofproviding content from a device outside the home network, by a contentusing process similar to receiving content provided from a DMS in thehome network, i.e., the home IMS gateway 212.

The home IMS gateway 212 implements a DMS (Digital Media Server)function as a content providing server of a DLNA device. An access ismade from the TV 213 on which a DMP (Digital Media Player) isimplemented to the home IMS gateway 212, so that the home IMS gateway212 can provide an IPTV service received via the IMS network 230 to theTV 213.

As described earlier, the home IMS gateway 212 can be implemented onvarious devices having a network communication function and connected toan existing home IP network. For example, it is possible to implement anIMS network service receiving function on a residential gateway (RG:Residential) supplied from an access line vendor that provides a networkcircuit, such as a telephone company or a cable TV company. In thiscase, the RG 211 and the home IMS gateway 212 shown in FIG. 3 areintegrated.

Alternatively, in the conventional-type home network configurationdescribed with reference to FIG. 1, it is possible to implement an IMSnetwork service receiving function on a DVR (Digital Video Recorder) ora PC that functions as a digital media server (DMS) as a device thatprovides content.

As described above, in the configuration of the present invention, sincedevices on which an IMS network service receiving function can beimplemented are not limited, it becomes possible to support an IPTVservice using the open Internet, and it also becomes possible to supportan arbitrary home network configuration without limitation regardingnetwork topology.

Hereinafter, an example configuration of the home IMS gateway and aprocess of receiving an IPTV service using the home IMS gateway will bedescribed in detail. First, before describing the home IMS gateway,functional components of the DLNA guideline, to which DLNA devicesconform, will be described with reference to FIG. 4.

FIG. 4 shows functional components of the DLNA guideline. From the toprow, configurations of a media format layer (Media Format), a mediatransport layer (Media Transport), a device discovery control and mediacontrol layer (Device Discovery, Control, and Media Management), anetwork layer (Network Stack), and a network connectivity layer (NetworkConnectivity) are defined. A home network device (DLNA device) executesdata communication according to network protocols compliant with theDLNA (Digital Living Network Alliance) guideline according to the basiccomponents shown in FIG. 4.

First, the network connectivity on the lowermost layer is a definitionof a physical layer and a link layer of a home network. On a DLNAdevice, communication functions conforming to the IEEE 802.3u and802.211a/b/g are implemented. However, the communication standardregarding home network infrastructure is not limited as long as IPconnection is allowed, such as PLC (Power line communication).

In the network layer, the IPv4 protocol is used, and each DLNA deviceperforms communication using TCP or UDP. In UPnP (registered trademark)Device Architecture 1.0 defined in the device discovery control andmedia control layer, SSDP (Simple Service Discovery Protocol) for devicediscovery, SOAP (Simple Object Access Protocol) for performing control,and so forth are defined, and UPnP AV is implemented over UPnP DA (UPnPDevice Architecture). UPnP AV version 1 defines UPnP Media Server andUPnP Media Renderer. A DMS, which is a content providing server definedin DLNA, implements UPnP Media Server, and a DMP, which is a contentplaying device defined in DLNA, implements a controller of UPnP MediaServer.

On UPnP Media Server, a main content directory service is implemented,so that a method of obtaining a content list and metadata is provided.By using the content directory service, the DMP, which is a contentplaying device defined in DLNA, obtains a content list streamed by theDMS, which is a content providing server defined in DLNA.

As a definition of the media transport layer, which is a next upperlayer, it is defined that HTTP1.0/1.1 is used for streaming playing. Asa media format, in the case of video content, it is defined that contentof Media Formats conforming to the MPEG2-PS profile defined by DLNA istransferred by streaming from the DMS to the DMP. For example, the DMP,which is a content playing device defined by DLNA, sequentially decodesand plays MPEG2-PS data received by streaming transmission, whereby theuser can view the content.

FIG. 5 shows an example hardware configuration of the home IMS gateway212 described with reference to FIG. 3. As described earlier, the homeIMS gateway 212 has the following functions:

(a) Function for connecting to an IMS service

(b) Gateway function

These functions are implemented by a network communication function, abasic configuration of an information processing apparatus, andsoftware. The hardware shown in FIG. 5 shows an example hardwareconfiguration for implementing these functions (a) to (b).

As shown in FIG. 5, the home IMS gateway 212 is configured by a CPU 301as a data processing unit that executes various types of software(computer programs), a memory 302 formed of a ROM as a program storagearea, a RAM used as a work area or the like during execution of dataprocessing, and so forth, a network I/F 303 as a network connectingunit, and furthermore, a bus 304 for transferring commands and databetween these components.

The network I/F 303 is, for example, a network I/F for a wired LAN, suchas IEEE 802.3u. An OS and other software programs are stored in aflash-ROM constituting the memory 302, and these programs are copied toa RAM constituting the memory 302 and executed. Furthermore, a user IDand various types of setting information needed in a process ofestablishing an IMS session are also saved in the flash-ROM constitutingthe memory 302.

Next, an example configuration of software modules of the home IMSgateway 212 will be described with reference to FIG. 6. As shown in thefigure, the software modules can be classified into three types:

(1) Network modules

(2) Protocol modules

(3) Application modules

(1) The network modules are modules in charge of controllingcommunication in an IP network.

(2) The protocol modules are modules in charge of protocol control thatcontrols the individual functions of IMS and DLNA, i.e., performingcontrol so that the IMS side executes communication according to aprotocol defined on the IMS side and so that that the DLNA side executescommunication according to a protocol defined on the DLNA side. Sincecommunication according to different protocols are executed on the IMSside and on the DLNA side, configurations supporting different protocolsare provided.

(3) The application modules are modules that implement an actual gatewayfunction using the protocol modules, i.e., that implements relayingbetween the DLNA side on the home network side and the IMS network,which is a network outside the home network.

In the figure, in order to clarify the distinction between functionsused on the DLNA side on the home network side and functions used in theIMS network, which is a network outside the home network, areas areseparated by a broken line, with software modules applied to theIMS/IPTV side shown on the left side of the broken line, and softwaremodule applied to the DLNA side shown on the right side. Note, however,that the network modules are commonly used in both networks.Hereinafter, each of the modules will be described in detail.

First, in the network modules, a TCP IP stack, and an Auto IP/DHCP(Dynamic Host Configuration Protocol) Client module for executing aprocess of setting an IP address, defined in UPnP DA, are implemented.The same network modules can be used by both IMS and DLNA.

Basically, it suffices for the home IMS gateway 212 to be connected to ahome IP network, so that it is not necessary to separately set networkI/Fs. Note, however, that in a case where it is configured as integratedwith a residential gateway, a home network connection I/F and anexternal network connection I/F may be configured separately.

Since protocols that are used on the DLNA side on the home network sideand protocols used in the IMS network, which is a network outside thehome network, are currently different, the protocol modules are setindividually in accordance with the individual protocols.

The DLNA side is composed of SOAP defined in DA, GENA (Generic EventNotification Architecture), Presentation Page and Device Descriptionmodules by an HTTP (Hyper Text Transfer Protocol) server, SSDP in chargeof Device Discovery as a device discovery process, and an AKE modulethat executes authentication and key exchange (AKE) of DTCP-IP (DigitalTransmission Content Protection—Internet Protocol) needed forimplementing content in a home network.

The IMS side is composed of SIP/Module that establishes a session withan AS (Application Server), which is a server that provides an IMSservice, and SOAP and GENA modules that perform message communicationwith the AS. Furthermore, on the IMS side, since communication over theopen Internet is assumed, communication executing protocols, such as SIPand SOAP, are implemented over the TLS (Transport Layer Security)protocol defined in IETF RFC 2246 for security, so that the protocolsetting is such that communication is executed under a secureenvironment.

One of the features of the home IMS gateway 212, which is an informationprocessing apparatus of the present invention, is that it has such aconfiguration that a process of mapping an AS (IPTV service) of IMS as aUPnP device is executed using a function called Device Discovery Controlas a device discovery process function used on a DLNA-side device. Thatis, the home IMS gateway 212 maps a server outside the home network as avirtual home network device. Specifically, by using UPnP Device ProxyManager (refer to FIG. 6) or the like that is set as an applicationmodule on the home IMS gateway 212, the home IMS gateway 212 generates aUPnP Media Server instance corresponding to an AS (IPTV), which is anexternal server, and records it on a memory.

As described above, the home IMS gateway 212 maps and sets an AS (IPTVservice) of IMS, which is an external device not existing in the homenetwork, as a DMS of DLNA. This process is a process of making settingas if an AS (IPTV service) of IMS were a content providing server (DMS)existing in the home network.

In a case where a device discovery process according to UPnP is executedthrough the mapping process by a DLNA device in the home network, e.g.,a DMP as a content playing executing device such as a TV, it becomespossible for the home IMS gateway 212 to notify the DMP that it has aservice providing function based on the UPnP Media Server instancecorresponding to the AS (IPTV). This makes it possible for the DMP torecognize, on the basis of this notification, the AS (IPTV service) ofIMS as a device similar to a content providing server (DMS) in the homenetwork. This makes it possible to receive a service of the AS (IPTVservice) of IMS, which is an external network, by a process similar toreception of a service based on providing of content from within thehome network.

Note that regarding the home IMS gateway 212, which is an informationprocessing apparatus of the present invention, it is possible to makearbitrary setting as to whether a process of relaying content providedby the AS (IPTV service) of IMS is to be relayed to a DMP as a contentplaying executing device in the home network. It is possible to makesetting such that, without performing relaying of content, a DMPdirectly obtains content data from an external network by communicationbetween a DLNA device (DMP as a content playing executing device) and abackend Video Server of the AS (IMS) of IMS. Specific process examplesthese will be described later.

In a case where the home IMS gateway 212 performs relaying of contentprovided by the AS (IPTV service) of IMS, functions called MediaManagement, for example, a Content Directory service that obtainsmetadata of a content list, and a protocol for transferring videocontent, called Media Transport of DLNA, are implemented. In aconfiguration where the home IMS gateway 212 does not perform relayingof content provided by the AS (IPTV service) of IMS, it is not necessaryto implement these functions, i.e., the Media Management functions, onthe home IMS gateway 212.

Furthermore, it is also possible to make setting such that the home IMSgateway 212 does not perform a relaying process either for a contentlist request from a client device in the home network, i.e., a DMP as acontent playing executing device, and such that a client device (DMP) iscaused to issue a content list request directly to an external serversuch as an AS (IPTV service). In this configuration, it suffices for thehome IMS gateway 212 to be configured to be capable of responding to adevice discovery request from a client. Note that in order to send arequest from a client directly to an external server without passing itthrough the home IMS gateway 212, it is implemented by setting the URLof the external server, not the home IMS gateway, as a URL specified in[ControlURL] and [eventSubURL] of device information [DeviceDescription] defined in Device Architecture of UPnP. The home IMSgateway 212, by providing device information [Device Description] havingsuch setting to a client device, sets in an external server, such as theAS (IPTV service), a counterparty to which a client subsequently issuesa content list request or various types of requests with reference tothe device information. In this case, the model is such that the homeIMS gateway is in charge of only device discovery, so that the load isfurther reduced. Note that it is also possible to set a URL of anexternal server instead of the home IMS gateway 212 also in URL[SCPDURL] for obtaining device information, defined in DeviceArchitecture of UPnP.

The application modules, by using the protocol modules, execute agateway function, i.e., a function of setting a communicationenvironment between a DLNA device in the home network and a serveroutside the home network. The application modules are broadly classifiedinto a set of modules that perform a mapping process for setting an AS(IPTV) service of IMS as a DMS of DLNA, and a set of modules that passesrequests sent from, for example, a DMP, which is a content playingdevice in the home network, to an AS (IPTV) service of IMS.

The former set of modules that perform the mapping process are ASDiscovery, ServiceManager, and UPnP Device Proxy Manager, and the lattermodules that execute the request transferring process are UPnP MessageProxy and AKE Proxy.

As described above, the home IMS gateway 212, which is an informationprocessing apparatus of the present invention, performs a process ofmapping an AS (IPTV service) of IMS, which is an external device notexisting in the home network, as a DMS of DLNA. Furthermore, the homeIMS gateway 212 has a function of selectively mapping only a serviceentity [AS(IPTV)] selected by a user at the time of the mapping process.

That is, in a configuration where a plurality of ASs (IPTVs) of IMS/IPTVexist in the external network and each provides content, only an AS(IPTV) that a user has purchased and selected using an IMS chargingsystem is selected and mapped to a DMS of DLNA.

Among the application modules that perform the mapping process, ASDiscovery shown in FIG. 6, which is a module on the IMS/IPTV side,executes a process of discovering an IPTV service provided by an IMSsystem, and UPNP Device Proxy Manager, which is a DLNA-side module,manages a list of ASs discovered and obtained by AS Discovery, andpresents the user with this list to allow the user to execute a processof purchasing or selecting an AS (IPTV).

Specifically, the home IMS gateway 212, which is an informationprocessing apparatus of the present invention, becomes an HTTP server,and connects to a UPnP Control Point having an HTML browser thereon, theuser selects a desired IPTV service from a displayed HTML screen using abrowser function, and performs a procedure of subscribing to theservice. Specifically, for example, by using a PC or TV set as a DLNAdevice in the home network having a browser function, it is possible topresent a list owned by the home IMS gateway 212 on a display and toselect an IPTV service.

Furthermore, in the procedure of receiving the IPTV service, by usingUPnP Message Proxy as an executing module, it is possible to cause therequest transferring process described earlier to cooperate with thecharging system provided by the IMS system, and charging on the user isperformed on the basis of customer information of the IMS user ID thathas been set as an ID corresponding to the home IMS gateway 212.

As described above, on condition of the procedure of subscribing to theAS (IPTV) by the user, it becomes possible for the home IMS gateway 212to perform selective mapping such as selecting an IPTV service for whichthe subscription procedure has been executed by the process of UPnPDevice Proxy Manager, which is an application module, and to map theIPTV service to a DLNA DMS. Note, however, that in a case where an AS(IPTV) or the like exists for which it is not necessary to perform asubscription procedure, such as an AS (IPTV) that provides content freeof charge, the process of subscription procedure by the user is notnecessary, and user's selection is not a necessary condition formapping.

The DMP as a content playing device, which is a DLNA device in the homenetwork, interprets the AS (IPTV) for which the mapping process has beencompleted at the home IMS gateway 212 as a content providing server(DMS) in the home network, so that it becomes possible to receive the AS(IPTV) service.

UPnP Message Proxy, which is an application module, relays a messagesupplied from the DLNA DMP to the AS (IPTV). As protocols for thispurpose, SOAP and GENA, equivalent to UPnP, are used, and the AS triesto achieve mutual compatibility by directly processing a message of aUPnP Media Server and Content Directory service defined in UPnP AV, byperforming protocol conversion for AS (IPTV) at UPnP Message Proxy, orthe like.

Note that the example configuration of software modules of the home IMSgateway 212 shown in FIG. 6 is a configuration of software modules in acase where the home IMS gateway is allowed to execute both communicationaccording to communication protocols on the IMS/IPTV side andcommunication according to communication protocols on the side of DLNAin the home network, and the home IMS gateway 212 executes protocolconversion as needed in communication between the IMS/IPTV side and theDLNA side.

The configuration for the process of conversion of communicationprotocols may be such that it is executed by the home IMS gateway 212,or, for example, the configuration may be such that it is executed by anexternal server that executes communication directly with the side ofthe home IMS gateway 212, for example, an AS on the IMS side or a serverthat executes an IPTV service. As described above, in the configurationwhere necessary protocol conversion is executed at the external server,it suffices for the home IMS gateway 212 to have DLNA-side protocolmodules and application modules. Note that in the case of such aconfiguration, the process of mapping the external server is executed byexecuting a device discovery process according to the SSDP protocoldefined by DLNA.

Furthermore, in the process of obtaining a content list and metadata,executed by a client device in the home network, i.e., a DMP as acontent playing executing device, in the embodiment described below, amethod is employed in which an AS directly processes a UPnP ContentDirectory service. In the embodiment, a procedure for subscription to aservice is executed by UPnP Control Point on which an HTML browser isimplemented. Although this may be a DMP of a DLNA, it need notnecessarily be a DMP of a DLNA, and a similar process can also beexecuted, for example, by a HTML browser of a personal computer of athird party. Also, in a case where an HTML browser is implemented on acellular phone or the like, a purchase procedure can be executedsimilarly.

Furthermore, by making setting such that the home IMS gateway 212 itselfhas a user interface such as a display apparatus and an input unit, itis possible to input information input by the user by directlypresenting a list obtained from an AS (IPTV) on the user interface, sothat it is possible to execute a procedure for service subscriptionwithout depending on control by an HTML browser.

Note that various modes are possible as modes of the procedure forsubscribing to an AS (IPTV). That is, various setting is possible, suchas selection on the basis of each service as selection of an AS (IPTV)itself, or selection on the basis of each content provided by an AS(IPTV). In these cases, a scheme for selecting purchase by each contenton the basis of setting of AS (IPTV) is provided by Presentation Page,selection information is registered on the IMS side as configurationdata of user profile information, and the AS (IPTV) side providescontent according to the registered information.

As described above, for the home IMS gateway 212, setting is possibleboth for a case where it is configured to execute a process of relayingcontent provided by an AS (IPTV service) of IMS to a DMP as a contentplaying executing device in the home network, and for a case where theprocess is not executed. In the latter case, processing of service logicat an application level, for example, data processing corresponding toeach service, such as interpretation of a service provided by an AS(IPTV) service, or a process of conversion into a format understandableby a DMP, is not necessary. Furthermore, a process of temporary savingof content data or conversion is not necessary, either, so that it ispossible to implement a home IMS gateway by a device with veryinexpensive software and hardware configurations.

By making service logic processing by the gateway apparatus unnecessary,compared with a configuration in which these processes are executed,flexibility of extension of services can be improved. For example, thereare cases where an AS (IPTV), which is an entity that provides content,performs addition of metadata of content or the like. In a configurationwhere a gateway apparatus executes processing of service logic, in orderto make it possible for the gateway to interpret and process the addedmetadata, for example, updating of a program becomes necessary. However,in a home IMS gateway of the present invention, such a setting ispossible that such processing is not executed, and it becomes possibleto make various changes in service logic only by changes on thedistribution service side without making changes at the gateway itself.

As described earlier, the following two configurations exist as modes ofprocessing by the home IMS gateway 212:

(1) Configuration in which a process of relaying content provided by anAS (IPTV service) of IMS to a content playing device (DMP) in the homenetwork is executed.

(2) Configuration in which a process of relaying content provided by anAS (IPTV service) of IMS to a content playing device (DMP) in the homenetwork is not executed, and content is played by communication betweenDMP and AS (IPTV service).

In the above configuration (2) where content is played by communicationbetween DMP and AS (IPTV service), content is transmitted directly froma content distribution service on the Internet to a DMP, which is aplaying device. Thus, as opposed to a method in which content istemporarily downloaded to a home server and is then redistributed into ahome, since it is possible to play content on demand, convenience forthe user is also high. Furthermore, in the method in which transmissionof content is not relayed, since duplicate transmission of content datadoes not occur in the home network, it is possible to prevent using aband in vain. Furthermore, limitation regarding the topology of the homenetwork becomes absent, so that there exists an advantage that thevariety of products on which a gateway function is implemented becomesincreases.

Hereinafter, a process sequence in a case where content is played by theprocess of the above (2), i.e., communication between DMP and AS (IPTVservice), will be described with reference to sequence diagrams in FIGS.7 to 10. The sequence diagrams in FIGS. 7 to 10 are diagrams forexplaining sequences of the following processes.

(A) Sequence of procedure for subscribing to AS (IPTV) (FIGS. 7 and 8)

(A1) IMS registration process

(A2) Device discovery process

(A3) AS (IPTV) selection process

(B) Sequence of usage of content provided by AS (IPTV) (FIGS. 9 and 10)

(B1) Device Discovery Process

(B2) Content list obtaining process

(B3) Authentication and key exchange process

(B4) Content streaming process

First, with reference to FIGS. 7 and 8, the sequence of the procedurefor subscribing to an AS (IPTV) will be described. FIGS. 7 and 8 showthe following components from the left side:

(1) Three IPTV services AS1, AS2, and AS3 as application servers thatexecute content providing services supporting IPTV in an IMS network

(2) HSS having databases for management of user IDs used in IMS,management of profiles of services that each user subscribes to,management of authentication information, management of whether use ofeach IMS service is allowed, and management of user movement

(3) CSCF that performs user registration and session setting control onthe basis of SIP (Session Initiation Protocol) in an IMS network

(4) Home IMS gateway

(5) HTML browser (user interface) as a UPnP control point

Furthermore, [Cx], [SIP], [SSDP], and [HTTP] shown in individual stepsindicate protocols applied to individual communications.

The sequence of subscribing to an AS (IPTV), shown in FIGS. 7 and 8, canbe divided into the following three phases:

(A1) IMS registration process

(A2) Device discovery process

(A3) AS (IPTV) selection process

Hereinafter, each of the processes will be described.

(A1) IMS Registration Process

In the IMS registration process, which is the first phase, first, instep S11, the home IMS gateway sends an IMS user ID preset to the homeIMS gateway to a CSCF of the IMS network, and in step S12, the home IMSgateway receives an acknowledgement of registration and performsregistration to the IMS network. Then, in step S13, configurationinformation (config) is presented to the CSCF, and in step S14, anacknowledge response is received.

In step S15, the CSCF issues a request for available service informationregistered in association with the IMS user ID to the HSS having adatabase for managing user profile information and obtains the availableservice information (step S16), and in step S17, the CSCF sends theobtained list of available serves to the home IMS gateway. In step S18,the home IMS gateway sends an acknowledgement of receipt to the CSCF.

The home IMS gateway obtains a list of available services as describedabove and stores it in a memory. The home IMS gateway generates an HTMLdocument from the list of IPTV services obtained as described above, andprepares for the subsequent setting of AS by the HTML browser.

(A2) Device Discovery Process

The second phase is the device discovery process. At the initial stage,the AS to use is not specified by the user. Thus, at this stage, thehome IMS gateway has not mapped the AS (IPTV) as a DLNA DMS, so that theDMP as a content playing device in the home network cannot interpret theAS (IPTV) as a DMS and receive content.

As described earlier, when selection of an AS (IPTV) is executed, thehome IMS gateway becomes an HTTP server, and by using the scheme ofPresentation defined in UPnP DA, it connects to UPnP Control Pointimplemented on an HTML browser and selects a desired IPTV service froman HTML screen displayed by the user using a browser function. (A2)Device discovery process shown in FIG. 7 is a sequence of this process.

The user who executes selection of an AS (IPTV) discovers that the homeIMS gateway is connected on the home network by the process according tothe device discovery protocol defined in UPnP from UPnP Control Point,for example, a PC or the like having a browser function, i.e., bysending SSDP M-Search in step S19 and receiving SSDP M-Response as aresponse thereto in step S20. Steps S21 and S22 are steps of requestingand receiving specific device information.

(A3) AS (IPTV) Selecting Process

FIG. 8 shows the sequence of the AS (IPTV) selecting process that isexecuted subsequently. In this phase, the user views the AS (IPTV)service list obtained in the first phase by the home IMS gateway fromthe UPnP Control Point of a PC or the like, and executes service (AS)selection.

First, in steps S23 and S24, to the home IMS gateway as an HTTP server,on the basis of HTTP GET, an HTML document is obtained and an HTML pageis displayed. In the screen, the AS (IPTV) service list is displayed.

The user selects an AS (IPTV) from which a service is to be received orselects content from the list, and then, in step S25, the requestinformation is input to the home IMS gateway, and in step S26, the homeIMS gateway requests subscription to the service. In step S27, on thebasis of the service subscription request at the home IMS gateway, theCSCF executes registration of information corresponding to the servicesubscription request to the HSS as registration information associatedwith the user. Upon completion of the service subscription registrationprocess, in step S28, a notification of a process completion response issent from the HSS to the CSCF, is sent from the CSCF to the home IMSgateway in step S29, and is further sent to an apparatus having a userinterface, such as a PC that is UPnP Control Point, and is acknowledgedby the user in step S30.

Note that in (A3) AS (IPTV) selecting process, there are cases where,for example, a charging process or the like is performed. In this case,input and communication of information needed for the charging processare executed.

As described above, (A) the sequence of subscribing to AS (IPTV) iscomposed of the following three processes:

(A1) IMS registration process

(A2) Device discovery process

(A3) AS (IPTV) selecting process

By completing these processes, the process of subscribing to an AS(IPTV) is completed.

Upon completion of the AS (IPTV) subscription procedure, the home IMSgateway executes mapping so that the selected AS (IPTV) becomes a DMS,thereby making setting such that the DMP as a content playing device inthe home network can interpret the selected AS (IPTV) as a DMS andreceive content. That is, by using UPnP Device Proxy Manager and soforth shown in FIG. 6, the home IMS gateway generates an instance ofUPnP Media Server corresponding to the selected AS (AS3 in the example),and records the instance in a memory.

Through the mapping process, the AS (IPTV) as an IMS application serverexisting outside the home network is dealt with similarly to a DMS (DLNAMedia Server) similar to a content providing server in the home network,and it becomes possible to use the AS (IPTV) from a DMP (DLNA MediaPlayer), which is a content playing device in the home network.

Hereinafter, with reference to FIGS. 9 and 10, a sequence of usage of AS(IPTV) provided content by a DMP, which is a content playing device inthe home network, will be described.

FIGS. 9 and 10 shows the following components from the left side:

(1) IPTV service (AS) (content providing entity)

(2) HSS having databases for management of user IDs used in IMS,management of profiles of services that individual users subscribe to,management of authentication information, management of whether use ofeach IMS service is permitted or not, and management of user transfer

(3) CSCF that controls user registration and session setting on thebasis of SIP (Session Initiation Protocol) in an IMS network

(4) Home IMS gateway

(5) DMP (DLNA Media Player), which is a content playing device in a homenetwork.

Note that (1) IPTV service (AS) is either an IPTV service alone or acombination of an IPTV service and an AS, and either mode is possible.Furthermore, [SSDP], [HTTP], [SOAP], and [AKE] shown in individual stepsindicate protocols applied to individual communications.

The sequence of usage of AS (IPTV) provided content, shown in FIGS. 9and 10, can be divided into the following four phases:

(B1) Device discovery process

(B2) Content list obtaining process

(B3) Authentication and key exchange process

(B4) Content streaming process

Hereinafter, each of these processes will be described.

(B1) Device Discovery Process

The first process is the device discovery phase. By the AS subscriptionsequence described earlier with reference to FIGS. 7 and 8, the home IMSgateway has already mapped an AS (IPTV) as a DLNA DMS, and it has beenmade public to each device DLNA device in the home network that the AS(IPTV) can be used as a DLNA DMS. That is, all the DMPs connected to thehome network, which are content playing devices, can obtain AS (IPTV)information as DMS from the home IMS gateway by the device discoverysequence defined in UPnP DA. The device discovery sequence is a processof steps S31 to S34.

The DMP, which is a content playing device, discovers the AS (IPTV) setas a DMS, by the process according to the device discovery protocoldefined in UPnP, i.e., by sending SSDP M-Search to the home IMS gatewayin step S31 and receiving SSDP M-Response from the home IMS gateway as aresponse thereto in step S32. Steps S33 and S34 are steps of requestingand receiving specific device information.

Note that in the device discovery process, the home IMS gateway providesinformation based on the UPnP Media Server instance corresponding to theAS (IPTV), generated by the home IMS gateway in the mapping process,i.e., server information corresponding to the AS (IPTV), to the DMP,which is a content playing device. By receiving this information, theDMP interprets the AS (IPTV) as being a content providing server (DMS)in the home network.

(B2) Content List Obtaining Process

The second process is a process of obtaining a content list from the AS(IPTV) set as a DMS. As in the example already shown in the ASsubscription sequence, it is assumed that the home IMS gateway hasalready established a session with the IMS network. In a case where asession is not established or is disconnected, a reconnection isperformed using a request for obtaining content or the like as atrigger. By establishing a session with the IMS network, information ofthe AS for which subscription has been completed has already beenobtained.

In step S35, the DMP issues a Browse action of UPnP Content DirectoryService to the AS (IPTV) set as a DMS that has been discovered in thefirst phase. Upon receiving the Browse action from the DMP, in step S36,the home IMS gateway relays this request and transfers it to the IPTV(AS).

The IPTV (AS) interprets the content of the Browse action, generates alist of video content from a backend electronic program informationstorage server (EPG server) or the like, and sends a response to the DMPvia the home IMS gateway (steps S37 and S38). For example, in a casewhere the content list has a hierarchy, a plurality of Browse actionsare issued. Note that as defined in UPnP Content Directory Service, acontent list is represented by an XML document called DIDL-Lite,conforming to XML Schema, and resource information (URI) of video dataof each content indicates video content provided by a backend VideoServer of AS.

Note that as described earlier, such setting is possible that the homeIMS gateway does not execute the process of relaying a content listrequest from a DMP, and a content list request is issued directly from aclient device (DMP) to an external server such as an AS (IPTV service).For this purpose, URLs specified by [controlURL] and [eventSubURL] ofdevice information [Device Description] defined in UPnP DeviceArchitecture are set to be a URL of an external server, not the home IMSgateway. By the home IMS gateway providing device information [DeviceDescription] having such URL setting to a client device, a counterpartyto which the client subsequently issues a content list request orvarious types of request with reference to the device information is setto an external server such as an AS (IPTV service).

(B3) Authentication and Key Exchange Process

The third phase is authentication and key exchange. In a case wherecopy-protected content is transmitted, a DLNA encrypts the contentaccording to DTCP-IP and transmits the content. Also in streaming froman AS (IPTV) video server, encryption conforming to DTCP-IP is performedto send encrypted content.

A key applied to content encryption is generated by an authenticationand key exchange (AKE) process according to definition of DTCP-IP. Asshown in FIG. 6, the home IMS gateway has a function of DTCP-IP AKEProxy, and at the time of content reception, a DMP, which is a contentplaying device, performs authentication and key exchange with the homeIMS gateway having a DMS that the DMP recognizes as a content providingservice entity.

The setting of a content resource URI set in a list obtained in (B2)content list obtaining process is such that it includes an IP address ofan AS video server. An address as a subject of the authentication andkey exchange process needed to execute obtaining of content, i.e., theAKE processes, is set to the home IMS gateway. That is, the DMP performsauthentication and key exchange with the home IMS gateway in which a DMSinstance recognized as a content providing service entity is registered.

Note that although the subject of execution of authentication and keyexchange at the DMP is often an entity that sends encrypted content,i.e., an IP address of an AS video server included in a content resourceURI, in the configuration of the present invention, the subject of theAKE processes executed by the DMP at the time of a request for obtainingcontent included in the content list provided to the DMP in (B2) contentlist obtaining process is set to be the home IMS gateway.

This becomes possible, for example, by including, in metadata associatedwith content, metadata with which setting is such that the subject ofAKE is the home IMS gateway. The configuration may be such that thesetting of content list that the home IMS gateway receives from the IPTVservice (AS) is a list set in advance as described above or such thatmetadata is added or changed at the home IMS gateway. Alternatively, theconfiguration may be such that at the time when the home IMS gatewayprovides a content list to the DMP, a notification that the subject ofAKE is the home IMS gateway is executed.

The authentication and key exchange process is executed according to anauthentication and key exchange (AKE) process sequence defined inDTCP-IP.

In the configuration of the present invention, through the processes ofsteps S39 to S46 shown in FIG. 10, i.e.;

-   -   S39: AKE Challenge&Response    -   S40: AKE    -   S41: RTT (Round Trip Time) Check request    -   S42: RTT Check response    -   S43: AKE Key Exchange    -   S44: Key Exchange    -   S45: Key Exchange    -   S46: AKE Key Exchange

Through these processes, the authentication and key exchange between theDMP and the home IMS gateway are completed.

In the course of the authentication and key exchange process, in orderto confirm that the home IMS gateway, which is the subject of AKE, is inthe proximity of the DMP, confirmation of TTL (Time To Live) of an IPpacket and confirmation of a response time are executed as RTTmeasurement in steps S41 and S42.

Furthermore, steps S44 and S45 are processes that are characteristic ofthe configuration of the present invention, and these are processes ofpassing a key shared between the home IMS gateway and the DMP in the AKEsequence to the IPTV service (AS) so that the key applied as anencryption key is shared between the IPTV service (AS) as a contentproviding entity and the DMP as a content using entity. By adding theprocesses of steps S44 and S45, the IPTV service (AS) as a contentproviding entity and the DMP as a content using entity can share theencryption key. Here, the IPTV service (AS) is a legitimate service thatis allowed to share the key, and steps S44 and S45 are performed bysecure communication.

(B4) Content Streaming Process

The last, fourth phase is a content streaming process. In step S47, theDMP, which is a content playing device, applies a resource URL obtainedin the preceding (B2) content list obtaining process, and issues acontent request based on HTTP GET to request HTTP streaming.

The video server of the IPTV service (AS) encrypts content data usingthe key shared with the DMP in the preceding AKE phase, and in step S48,starts streaming transmission of content to the DMP, which is a DLNAdevice in the home network.

The DMP, which is a content playing device in the home network, decryptsthe data received from the IPTV service (AS) by applying the encryptionkey shared with the IPTV service (AS) in the preceding AKE phase, andexecutes content playing by decoding.

Regarding the process configuration of the present invention,

(B3) Authentication and key exchange process

(B4) Content streaming process

It differs in that in these third and fourth phases, an IP address towhich the AKE module is applied is set to be the home IMS gateway, whichis an entity different from the server as a content providing entity,and it is a process otherwise conforming to streaming playing by DTCP-IPdefined in DLNA.

An overview of data communication in the content using process describedwith reference to FIGS. 9 and 10 will be described with reference toFIG. 11. In FIG. 11, as devices in a home network 500, a DMP 501 as acontent playing device, a home IMS gateway 502, and a residentialgateway (RG) 503 are shown. Furthermore, as a configuration outside thehome network 500, an IP multimedia subsystem (IMS) 510 and an IPTVservice 520 are shown.

As described earlier with reference to FIG. 3, the IP multimediasubsystem (IMS) 510 is the base of wireless communication infrastructurefor cellular phones, which is being developed by 3GPP (3rd GenerationPartnership Project), which is a project for standardizing 3rdgeneration mobile communication systems. With a functional elementcalled CSCF (Call Session Control Function) as a core, it is configuredby functional components such as Home Subscriber Subsystem (HSS) andApplication Server (AS). FIG. 11 shows an application server (AS) 511.The application server (AS) 511 includes CDS (Content Directory Service)512 as a directory service executing section that performs processessuch as registration of a function of a service providing server.

The IPTV service 520 has an EPG server 521, which is a server thatprovides EPG (Electronic Program Guide), which is a program informationguide such as a content list, and a video server, which is a server thatprovides video content, and it implements a content list providingservice and a content providing service to the DMP 501, which is a userterminal, by cooperation between the respective servers and the CDS 512of the AS (IPTV) 511.

A basic process flow in a case where the DMP 501, which is a contentplaying device in the home network 500, obtains content from the IPTVservice 520 outside the home network will be described. Through the ASsubscription sequence described earlier with reference to FIGS. 7 and 8,the home IMS gateway has already mapped the IPTV service (AS) as a DLNADMS.

First, in step S101, the DMP 501 executes device discovery as a UPnPaction to obtain information of an AS (IPTV) set as a DMS from the homeIMS gateway 502. In the device discovery process, the home IMS gateway502 provides the DMP 501, which is a content playing device, withinformation based on a UPnP Media Server instance corresponding to theAS (IPTV) generated by the home IMS gateway 502 in the mapping process.By receiving this information, the DMP 501 interprets the AS (IPTV) asbeing a content providing server (DMS) in the home network.

Furthermore, the DMP 501 issues a Browse action of Content DirectoryService of UPnP to the AS (IPTV) set as a DMS. Upon receiving the Browseaction from the DMP 501, the home IMS gateway 502 relays the request tothe AS 511 (CDS 512). The AS 511 (CDS 512) obtains a list of videocontent provided by the EPG server 521 of the IPTV service 520, and thehome IMS gateway 502 sends a content list to the DMP 501 as a response.

Note that as described earlier, in the content list, a content URLapplied to obtaining of content as metadata, and subject deviceinformation of the authentication and key exchange (AKE) processesexecuted as a presupposition of content obtaining are recorded, and thesubject device information of the key exchange process (AKE) is set tothe home IMS gateway 502. Alternatively, without using content metadata,the home IMS gateway 502 may notify the DMP 501 that the subject deviceof the key exchange (AKE) process is the home IMS gateway 502.

Prior to receiving content, in step S102, the DMP 501 executes theauthentication and key exchange (AKE) process according to thedefinition of DTCP-IP. The DMP executes the process considering the homeIMS gateway 502 as a subject of execution of authentication and keyexchange. Note, however, that in the authentication and key exchange(AKE) process, in step S103, the home IMS gateway 502 provides the keyapplied as a content encryption key to the video server 522 of a videoserver 522 as an IPTV service 520 as a content providing entity. By thisprocess, at the time of completion of the authentication and keyexchange (AKE) process, the video server 522 of the IPTV service 520 asa content providing entity and the DMP as a content using entity sharethe key.

Then, in step S104, the DMP 501, which is a content playing device,issues a content request based on HTTP GET by applying a resource URLobtained in the content list obtaining process, thereby requesting HTTPstreaming to the video server 522. The video server 522 of the IPTVservice 520 encrypts content data by applying the key shared with theDMP 501 in the preceding AKE phase, and sends it to the DMP 501. The DMP501 executes a decrypting process on the data received from the IPTVservice 520 by applying the shared encryption key, and executes contentplaying.

As described above, with the configuration of the present invention, itbecomes possible for the DMP as a content playing apparatus in the homenetwork to receive content from a content providing server outside thehome network and to play the content.

In order to enable this process, the home IMS gateway provided in thehome network executes a process of executing communication with thecontent providing server, mapping the content providing server as a homenetwork device, generating an instance in which server information ofthe external server is recorded and storing the instance in a storageunit, in response to reception of a device discovery request accordingto the UPnP definition from the content playing device in the homenetwork, providing server information corresponding to the contentproviding server based on the instance to the content playing device asinformation of a device that can receive the service.

Furthermore, in a case where a content obtaining request from thecontent playing apparatus, i.e., a request for obtaining contentprovided by the content providing server, is received, the home IMSgateway transfers this request to the content providing server so thatthe content providing server sends the content to the content playingapparatus, thereby enabling reception and playing of content at thecontent playing apparatus.

Furthermore, since the configuration is such that, regarding theauthentication and key exchange demanded to be executed as a contentsending condition defined in DLNA, the process (AKE) as defined isexecuted between the content playing apparatus and the home IMS gateway,and the home IMS gateway sends the generated key to the contentproviding server, it becomes possible for the content providing serverand the content playing apparatus to share the key generated in theauthentication and key exchange process. Similarly to the contentsending process executed by the DMS in the home network, content onwhich encryption has been performed is sent from the content providingserver to the content playing apparatus, so that secure contenttransmission and reception is achieved.

Note that this content transmission method can also be applied to Hometo Home content transmission. Instead of the video server 522 of theIPTV service 520 in FIG. 11, by causing a home server of another home toprovide a similar service, it is possible to transmit content of thathome. In such non-commercial content transmission, there are cases wheretransmission is performed without performing encryption.

Hereinabove, an embodiment regarding a home IMS gateway for causing aDMP, which is a content playing device conforming to the DLNA guidelineshown in FIG. 4 to receive an IPTV service has been described. Asdescribed earlier with reference to FIG. 4, in the DMS, which is acontent providing server defined in DLNA, a UPnP media server (UPnPMedia Server) is implemented, and on the UPnP Media Server, a mainContent Directory Service is implemented, so that it is made possible toobtain a content list and metadata by applying it. That is, by using theContent Directory Service, the DMP, which is a content playing devicedefined in DLNA, obtains a content list streamed by the DMS, which is acontent providing server defined in DLNA. The embodiment described withreference to FIG. 9 is an embodiment in which the content list obtainingprocess by the UPnP Content Directory Service is executed by applyingSOAP and GENA message communication defined in UPnP DA. Next, an exampleof a process in which a scheme of Presentation defined in UPnP DA isused will be described.

[Example of Process in which a Scheme of Presentation Defined in UPnP DAis Used]

The embodiment described below is an embodiment in which the home IMSgateway 212 shown in FIG. 3, which is an information processingapparatus of the present invention, becomes an HTTP server, and connectsto UPnP Control Point implemented on an HTML browser by using a schemeof Presentation defined in UPnP DA, and the user selects a desired IPTVservice from an HTML screen displayed using a browser function andreceives the service.

That is, it is an example of a process in which by applying the schemeof Presentation defined in UPnPDA described earlier, a process ofproviding HTML data describing a service screen including, for example,a content list, content information, and so forth, from the home IMSgateway 212 to a DMP, which is a content playing device, for example,the TV (DMP) 213 shown in FIG. 3, is executed, the service screen formedof the HTML data is displayed on a display on the side of the DMP, whichis a content playing device, the user selects content on the basis ofthe display data, and receives the IPTV service. That is, for example,by using a PC or TV having a browser function, set as a DLNA device inthe home network, a list owned by the home IMS gateway 212 is presentedon the display, and an IPTV service is selected to receive the service.

In this embodiment, on the content playing device, i.e., for example,the TV (DMP) 213 shown in FIG. 3, an HTML browser for implementing thePresentation function defined in UPnP DA is implemented. In thisembodiment, although the UPnP Content Directory service is not used, forthe streaming playing function, the content playing device isimplemented on the basis of the DLNA media transfer definition and theDTCP-IP content protection definition.

The sequence of using content provided by an AS (IPTV) is divided intothe following four phases.

(B1) Device discovery process

(B2a) Service screen obtainment

(B3) Authentication and key exchange process

(B4) Content streaming process

Among the above phases, the processes in the individual phases (B1),(B3), and (B4) are the same as the processes described earlier withreference to FIGS. 9 and 10 earlier in the embodiment. In the processesdescribed with reference to FIGS. 9 and 10, (B2) content list obtainingprocess in steps S35 to S38 described with reference to FIG. 9 isexecuted. In this embodiment, in which the scheme of Presentationdefined in UPnP DA is used, (B2a) service screen obtaining process isexecuted instead of (B2) content list obtaining process.

FIG. 12 shows an example configuration of software modules of the homeIMS gateway 212 for executing the (B2a) service screen obtainingprocess. In this embodiment of service screen operating method, in orderto obtain a service screen by using the function of an HTML browser, theSOAP and GENA software modules described with reference to FIG. 6 arenot implemented, and furthermore, instead of the UPnP Message Proxydescribed with reference to FIG. 6, an HTTP Proxy that relays HTML databetween an HTTP server and an HTTP client is implemented.

With reference to the sequence diagram shown in FIG. 13,

(B1) Device discovery process

(B2a) Service screen obtaining process

These sequences in this embodiment will be described.

The (B1) device discovery process is similar to the process describedearlier with reference to FIG. 9. The DMP (e.g., the TV (DMP) 213 shownin FIG. 3), which is a content playing device, executes the devicediscovery process by processing steps S31 to S34 according to the devicediscovery protocol defined in UPnP. By this process, the DMP as acontent playing device discovers a content providing server (DMS)implemented on the home IMS gateway, and obtains a Presentation URL forobtaining HTML data provided by an HTTP server implemented on the DMS,by Device Description of the DMS according to the definition of UPnP DA.

In the (B2a) service screen obtaining process executed next, first, instep S201, the DMP as a content playing device sends an HTTP:GET requestto the HTTP server of the DMS by using a Presentation URL obtained inthe (B1) device discovery process.

In step S202, the HTTP Proxy implemented on the home IMS gatewaytransmits the HTTP:GET request received by the HTTP server from the DMPas a content playing device to the application server (AS) of the IPTVservice.

The application server (AS) of the IPTV service generates, as HTML(HyperText Markup Language) data, a service screen including a contentlist by using content information obtained from the EPG server, and instep S203, it returns the HTML data representing the service screen tothe home IMS gateway as an OK response.

In step S204, the home IMS gateway transfers the response including theHTML data, received from the application server (AS) of the IPTVservice, to the DMP as a content playing device by the HTTP Proxy.

The DMS as a content playing device generates and presents to the user aservice screen formed of a content list and so forth by executing adrawing process in which an HTML browser is applied to the HTML datatransferred via the home IMS gateway and sent by the application server(AS) of the IPTV service. The service screen includes a content list ofthe IPTV service, and the user selects content to be played from thecontent list.

The content selecting process is executed as, for example, a process ofselecting a content list displayed on the screen by a remote controller,switch, keyboard, or a pointer such as a mouse. By the content selectingprocess, a resource URL of content included in the HTML data isidentified. By using the URL corresponding to the selected content, thesubsequent processes, i.e., the processes described earlier withreference to FIG. 10:

(B3) Authentication and key exchange process

(B4) Content streaming process

These processes are executed. By these processes, the DMP as a contentplaying device performs content playing. That is, the client deviceinputs content selection of the user regarding the content list includedin the service screen, and on the basis of the content selectioninformation, the client device identifies a URL corresponding to theselected content, i.e., a resource URL of content included in HTML data,and executes an authentication and key exchange process based on the URLand a content streaming process.

Note that although the service screen obtaining process executed insteps S201 to S204 is a one-time process in the sequence diagram shownin FIG. 13, the service screen can take on a structural menuconfiguration represented by a plurality of items of HTML data, and itbecomes possible to execute reobtaining of the service screen on thebasis of user's operation of an HTML browser. That is, the configurationcan be such that a process equivalent to the process of steps S201 toS204 is repeatedly executed. It is possible to provide various servicescreens from an AS of an IPTV service of a DMP, and the user on the DMPside can select arbitrary content from content lists presented onvarious service screens.

Furthermore, in a case where a content providing process provided by anIPTV service is a video on demand service, or in a case whereconfirmation of charging on user's purchase of a content viewing rightis executed, HTML data representing a confirmation screen is transmittedfrom an AS of an IPTV service to a DMP via a home IMS gateway.

The user can operate the service screen displayed on a display of theDMP and receive services provided by various IPTV services whileexecuting interactive processes.

FIG. 14 shows an example of a service screen and a streaming playingscreen provided from an AS of an IPTV service to a DMP and displayed ona display of the DMP.

FIG. 14 (1) is an example of a service screen displayed on the displayof the DMP in (B2) the service screen obtaining process in steps S201 toS204 described in the sequence diagram of FIG. 13.

FIG. 14 (2) is an example of a screen displayed on the display of theDMP at the time of the subsequent content streaming process. That is, itis an example of a screen displayed on a content playing apparatus in acase where (B4) the content streaming process described with referenceto FIG. 10 is being executed.

Note that the two screens shown in FIG. 14, i.e.;

(1) Service screen

(2) Content streaming screen

These two process screens can be switched by user's operations atappropriate timing, and the service screen presenting and contentstreaming processes can be executed repeatedly.

Note that although the embodiment described here has been described asan example of a process in which the scheme of Presentation defined inUPnP DA is used, for example, a similar process can be also executed ina configuration in which the scheme of an HTML Browser defined in theCEA-2014 standard.

The CEA-2014 standard will be described briefly. The CEA-2014 standardis a standard of Web-based protocols and frameworks, and it is astandard for remote user interfaces that use UPnP networks and theInternet. The CEA-2014 standard is a standard that defines a mechanismneeded for providing a user interface under the control of a remotedevice connected via, for example, a network or the like. The basicprocess of the device that provides the user interface is a processconforming to the UPnP Device Architecture (v1.0), which is a definitionregarding UPnP networks and Home UPnP. The CEA-2014 standard allows aremote display process of a user interface provided to a home UPnPdevice by an Internet service of a third party, and defines various UIfunctions used in TV, mobile phones, and portable devices. Note that theCEA-2014 standard is configured as a standard including definitionscorresponding to specific specifications of CEA-2027-A, which is a UIstandard of home networks.

In a device on which an HTML Browser defined in the CEA-2014 standard isimplemented, by obtaining a service screen using the HTML Browser, aprocess similar to the process described with reference to FIG. 13 isachieved. Note that in this case, the UPnP Device class of the home IMSgateway becomes a Remote UI Server, and HTML data according to an HTMLbrowser profile defined in CEA-2014 is used.

[2. Description of Functions Applied to IPTV Service]

Hereinabove, description has been given regarding a configuration thatallows viewing of content provided by an external server outside a homenetwork, such as an IPTV service, by using an existing DLNA device in anopen Internet connection environment that does not depend oninfrastructure such as an access line to the Internet or a gateway.Hereinafter, functions used for receiving an IPTV service from anexternal server by a device in a home network will be describedregarding the items listed below:

2-A. Functions of IPTV service receiving client

2-B. Functions of IMS (IP Multimedia Subsystem)

2-C. Functions used in network configuration

[2-A. Functions of IPTV service receiving client]

First, functions of an IPTV service receiving client will be described.As described earlier with reference to FIG. 3, in the home network 210,

Residential Gateway (RG) 211, which is a network connecting device forconnecting a device in a home network to the IP broadband network 211,and which is used as a bridge;

Home IMS gateway 212 that executes a process for allowing a contentplaying device, such as a device (e.g., TV (DMP) 213 in the home network210, to use a service provided by a server outside the home network; and

Digital Media Player DMP) TV 213, which is a client device that receivesand plays content.

These devices exist.

These devices may be configured either as physically separate individualapparatuses or as a single apparatus.

That is, various settings are possible regarding the deviceconfiguration of the home network 210. However, in such various deviceconfigurations, it is necessary that functions needed to receive an IPTVservice are provided in one of the apparatuses.

A single information processing apparatus or a combination of aplurality of information processing apparatuses as a client connected ina home network basically includes a communication unit that executes acommunication process via a home network, and a data processing unitthat executes a process of receiving a content providing serviceprovided by an external server by using mapping information that sets anexternal server outside the home network as a virtual home networkdevice. Hereinafter, functions that are needed or effective for theinformation processing apparatus connected in the home network toreceive an IPTV service, i.e., functions of an IPTV service receivingclient, will be described.

The function needed for the IPTV service receiving client is an IPTVterminal function. The IPTV terminal function is a function needed at alogical end point of the IPTV service. For example, in the exampleconfiguration shown in FIG. 3, each of the home IMS gateway 212 and theTV (DMP) 213 executes a part of the IPTV terminal function. By each ofthese devices executing a part of the IPTV terminal function accordingto their individual roles, it becomes possible to receive a serviceprovided from an external server and to present it at a device in thehome network, for example, the TV (DMP) 213 shown in FIG. 3. Note thatalthough not shown in FIG. 3, furthermore, a process of providing aservice from the external server to another home network device, andmaintaining, printing, displaying, or the like is implemented.

FIG. 15 shows constituent elements of the IPTV terminal function, whichis a function needed for receiving an IPTV service. As shown in FIG. 15,

(A1) IPTV client

(A2) IMS gateway

(A3) Others

The IPTV terminal function can be divided into these individualcomponents. Hereinafter, functional elements included in each of thesecomponents will be described.

(A1) IPTV Client

An IPTV client is a component that serves to receive an IPTV servicereliably at an IPTV device, for example, the TV (DMP) 213 shown in FIG.3. As shown in FIG. 15,

IPTV application client

IMS communication client

IPTV navigation client

Content protection client

IPTV-DLNA application gateway

The IPTV client includes subcomponents as these functional elements.These functional elements (subcomponents) will be described below.

The IPTV application client receives a media signal and sends it to adisplay system. For example, the IPTV application client receives acommand from a user via a remote controller or the like, and executes aprocess pat the command. Specifically, for example, the IPTV applicationclient performs display of an EPG (Electronic Program Guide), or achannel specification or changing process using the EPG, and so forth.

The IMS communication client is a set of IMS applications used fordistributing message information such as messages or video data, andservice information based on other IMS, not related to IPTV.

The IPTV navigation client is used to download an EPG (ElectronicProgram Guide), a content list corresponding to VoD (Video on Demand),and other metadata, and to display these using a special GUI for contentselection.

The IPTV navigation client executes a process of integrating othermetadata from sources such as a broadcast TV or a DLNA home network.

The content protection client executes protection of content provided byan IPTV service, for example, an encryption process for protecting thecopyright of a content owner, a process of managing an encryption key,and so forth.

The IPTV-DLNA application gateway executes a process of receiving amedium and an EPG (Electronic Program Guide) from an IPTV client,converting it into a format usable at a DLNA device, and sending an EPG(Electronic Program Guide) or the like via a network, and so forth.

The IPTV-DLNA application gateway acts as an SIP (Session InitiationProtocol) client, and executes a registration process for other homedevices connected to the home network. For example, it executesregistration of family members or devices.

(A2) IMS Gateway

Next, functional components of (A2) the IMS gateway shown in FIG. 15will be described. In the configuration shown in FIG. 3, thiscorresponds to functions of the home IMS gateway 212. The home IMSgateway 212 is a component that connects a device in a home network toan IMS network. It executes conversion among various signal protocols asneeded to execute relaying of messages between devices in the homenetwork and apparatuses outside the home network.

As shown in the figure,

IMS B2BUA

IMS proxy

IMS client

GBA client

Home router interface

The home IMS gateway includes these functional elements (subcomponents).These functional elements (subcomponents) will be described below.

The IMS B2BUA functions as a inter-working unit between a pure SIPclient and an IMS system, and it executes processes such as conversionbetween SIP messages and IMS messages and message transfer.

The IMS proxy simply sends a message without performing messageconversion like B2BUA, and executes a process of determining a route, aprocess of mapping between an IP address (local and global) and a portnumber, and so forth.

The IMS client executes a client registration process (IMS registrationprocess) by applying identification information or the like of a client.Furthermore, it performs support for processes such as an authenticationprocess and IPSec security connection setting with CSCF.

The home router interface function provides routing functions, such asproviding a NAT function. For example, it obtains a P-CSCF address by anSIP server DHCP option [DHCP-SIP] or by DNS lookup based on an SRVrecord, and executes a process of opening and closing a port for controlsignals defined in UPnP and a port for unicast media stream.

(A3) Others

The IPTV terminal function includes,

(A1) IPTV client

(A2) IMS gateway

in addition to these components described above,

(A3) Others

as functional elements (subcomponents) shown in FIG. 15,

HTTP proxy

Caching function

Multicast data channel control function

These functional elements (subcomponents) will be described below.

The HTTP proxy is an intermediary program that executes a processaccording to protocol definition of [HTTP] to act both as a server and aclient for the purpose of issuing a request on behalf of another client(HTTP client). For example, the HTTP proxy can interrupt into HTTP GETsent to the outside, and cache and use data that can be referred to by aURI requested. Furthermore, the HTTP proxy acts as an HTTP client, andexecutes data searching based on a requested URI, and so forth.

The caching function is used to cache data received by the client byunicast download or multicast. The caching function executes a cachingprocess of temporarily recording data such as Web pages (EPG and otherIPTV menu) image, and metadata.

For example, the caching function is used to minimize interaction waittime of the user, to minimize the amount of unicast download from anIPTV application and control function, and so forth. In a case wheredirect access by the client is allowed and the IPTV client and thecaching function are physically remote within the same network, forexample, the caching function can issue a notification from the cachingfunction to the IPTV client using the GENA protocol according todefinition of DLNA regarding an event such as occurrence of new cachedata.

The multicast data channel (MDC) control function is a function thatperforms intermediation between the caching function and applicationsinstalled on the client, and it includes a Multicast Data Channelinserting function. The MDC inserting function receives a contentrequest to MDC from various applications, and distributes content bymulticasting on a multicast channel.

The multicast data channel (MDC) control function identifies requestsfrom various applications by tags. For example, it becomes possible fora browser executed on the client side to obtain EPG by issuing a requestwith specification of an EPG page tag. The MDC control function filtersreception MDC, and sends MDC objects together with tags to individualapplications.

Note that the multicast data channel (MDC) control function includes anMDC proxy, and in a case where the MDC proxy has registered as specificnumber of requests regarding certain objects such as EPG pages, it canrequest the MDC control function to include the EPG page in the MDC.That is, it is possible to distribute the same data to a plurality ofclients by multicast, and it becomes possible to exclude the necessityof a data request by a unicast channel from each client, so thatprocessing becomes efficient.

[2-B. Functions of IMS (IP Multimedia Subsystem)]

Next, functions of an IMS (IP Multimedia Subsystem) used for receivingan IPTV service from an external server by a device in a home networkwill be described. That is, the functions are functions of the IMSnetwork 230 shown in FIG. 3.

As described earlier, IMS is based on IP technologies, and is highlycompatible with Internet infrastructure of fixed communication systems.IMS is constituted by functional elements such as a Home SubscriberSubsystem (HSS) and an Application Server (AS), with a functionalelement called CSCF (Call Session Control Function) as a core, the CSCFbeing based on SIP (Session Initiation Protocol) defined in RFC-3261 ofthe IETF (The Internet Engineering Task Force).

The IMS network 230 shown in FIG. 3 includes the CSCF 231, the HSS 232,and the AS (IPTV) 233 as these functional elements, and it provides aservice to the cellular phone 260 via the mobile phone network 240.

The CSCF 231 performs control of user registration and session settingbased on the SIP (Session Initiation Protocol). Furthermore, accordingto setting of a user profile registered in the HSS 232, it executesactivation of service processes needed. The HSS 232 has a database formanagement of user IDs used in the IMS, management of profiles ofservices that each user subscribes to, management of authenticationinformation, management of whether use of each IMS service is allowed,and management of user transfer. The AS 233 is a server that executesprocesses of individual servers. The AS 233 is activated by the CSCF 231in accordance with the status of service subscription of each user andprovides services to the user.

As described above, in the IMS, for example, a user with a registereduser ID accesses the CSCF 231 by using a client apparatus to performregistration of the terminal (client) and control of setting of asession, services needed are activated according to setting of a userprofile registered in the HSS 232, and the AS 233 actually executesprocesses of individual services.

In an IPTV viewing service, an AS of the IPTV service set in the IMSnetwork 230 is used. The AS (IPTV) 233 shown in FIG. 3 corresponds tothe AS that executes the IPTV service. The AS (IPTV) 233 shown in FIG. 3actually executes services for the user terminal in cooperation with theIPTV service 250 as an entity that executes the IPTV Service, i.e., asan entity that provides content.

The IPTV service 250 includes an EPG server 251, which is a server thatprovides an EPG [Electronic Program Guide], which is a programinformation guide such as a content list, and a video server 252, whichis a server that provides AV content. A content list providing serviceand a content providing service for the user terminal are implemented bycooperation between the respective servers and the AS (IPTV) 233 of theIMS network 230.

As described with reference to FIG. 3, main parts of the functions ofthe IMS (IP Multimedia Subsystem) include the CSCF (Call Session ControlFunction) 231, the Home Subscriber Subsystem (HSS) 232, and theApplication Server (AS) 233. The CSCF 231 performs control of userregistration and session setting, and executes activation of servicesprocesses that are needed according to setting of a user profileregistered in the HSS 232. The HSS 232 has a database for management ofuser IDs used in the IMS, management of profiles of services that eachuser subscribes to, management of authentication information, managementof whether use of each IMS service is allowed, and management of usertransfer. The AS (IPTV) 233 executes services for the user terminal incooperation with the IPTV service 250 as an entity that executes theIPTV Service, i.e., as an entity that provides content.

FIG. 16 is a diagram showing the main functions of the IMS (IPMultimedia Subsystem):

(B1) CSCF

(B2) HSS

(B3) AS

The functions of these (B1) CSCF, (B2) HSS, and (B3) AS will bedescribed below individually.

(B1. CSCF)

As shown in FIG. 16, CSCF (Call Session Control Function) are dividedinto three logical entities, i.e., Proxy CSCF, Interrogating CSCF, andServing CSCF.

The Proxy CSCF serves as, for example, a client as an IMS terminal in ahome network, for example, the first point of entry to an externalnetwork from the home IMS gateway 212 shown in FIG. 3. The Proxy CSCFuses a key obtained from the Serving CSCF in order to establish an IPSecsecurity relationship with a client as an IMS terminal in the homenetwork, for example, the home IMS gateway 212 shown in FIG. 3.

Regarding each SIP message protected by IPSec communication coming froma terminal, for example, the home IMS gateway 212 shown in FIG. 3, theProxy CSCF verifies integrity and decodes the SIP message. For example,in a case where the message is encrypted, decoding is executed bydecrypting. Upon successful decoding, the Proxy CSCF executes a processof confirming a client identifier, and so forth.

The Interrogating CSCF executes, for example, a query to the HSS, and soforth, and obtains subscriber information (user profile, etc.) andsupports the registration process. Furthermore, it executes processesregarding SIP messages and determination of route for fee charging.

The Serving CSCF is a contact point with the home network, and itfunctions as an SIP registrar and functions as an SIP server thatmaintains association between a user's position and a recorded user SIPaddress. It performs a process of obtaining from the HSS an AKAverification vector (AV), which is data applied to clientauthentication, and a user profile/service profile. The Serving CSCFexecutes a client authentication process using the AKA protocol, andupon successful authentication, it provides a key included in the AKAauthentication vector (AV) to the Proxy CSCF.

Furthermore, the Serving CSCF checks all SIP messages with the IMSterminal, for example, the client, and determines the route for themessages. This process can be executed as a process in which a triggerrule/event based on the user service profile obtained from the HSS isconsidered.

(B2. HSS)

The Home Subscriber Subsystem (HSS: Home Subscriber Subsystem) maintainsa list of client (user information) relating to IMS subscriberinformation, user profiles, and so forth. At a client, as a plurality ofitems of identification information, a private user identity (IMPI) anda public user identity (IMPU) are set, and user information is recordedand managed in association with at least either of these items ofidentification information.

For example, a subscriber profile of an IPTV service is associated withIMPI, which is client (user) information, and includes a service profileassociated with each client. The service profile includes one or morepublic user identities (IMPU), core network authentication information(option), one or more items of filter criterion information, and soforth.

The Serving CSCF described earlier, by using these filter criteria ownedby the HSS, determines whether it is appropriate to define a route to anAS (Application Server), whether this is requested for certain SIPrequests, and so forth, and performs filtering. Note that informationapplied to the filter is saved and reported for each AS regarding eachuser. For example, regarding IPTV, the HSS maintains informationregarding an entity that provides the IPTV service and a serviceidentifier, and executes filtering on the basis of these. Furthermore,the HSS also performs generation of an AKA authentication vector (AV)used during a legitimate IMS registration procedure.

(B3. AS)

Another main element of the main functions of the IMS (IP MultimediaSubsystem) is an IMS application server (AS). The IMS application server(AS) has the following IPTV functions:

Service Discovery Function

This is a function for determining the position of an access point foran IMS AS that provides an IPTV service.

nPVR (Network Personal Video Recording) Function

This is a function for recording received data on behalf of a user, anda function for charging a fee relating to the nPVR function, permission,and providing other services.

Join Function

This is a function that resides on a communication path to executevarious services, fee charging, and so forth.

Control Function

This is a function for termination of SIP traffic, setup adjustment of amedia stream, recording of an end user and information set in loggingand so forth, charging of fee from an IPTV service, processes forpermission and other services, a process of delegating these servicesand functions to an external device connected to an IMS network, and soforth.

[2-C. Functions Used in Network Configuration]

Next, functions used in a network configuration for receiving an IPTVservice from an external server at a device in a home network will bedescribed. As shown in FIG. 17, the functions used in a networkconfiguration includes these functional elements:

(C1) Media server

(C2) Transcoding function

(C3) Home router

These elements can be disposed on a network in a distributed manner. Forexample, the (C1) media server and (C2) transcoding function may beconfigured in the IPTV service 250 in FIG. 3 or may be set as anindependent configuration in another device connected to the network. Inthe configuration of FIG. 3, the (C3) home router is provided in adevice in the home network 210, for example, it is provided in the homeIMS gateway 212. Hereinafter, processes of these functions will bedescribed:

(C1) Media server

(C2) Transcoding function

(C3) Home router

Furthermore,

(C4) Details of communication process via a network will be described.

(C1. Media Server)

The media server is a most important component of the media layer. Forexample, the media server executes saving and output of VoD (video ondemand) content, storage of content for network personal video recording(nPVR) executed as a client-specific content recording process at eachclient, and so forth. Furthermore, for example, when a trick play, suchas slow play, fast forward, rewind, or skip chapter, is performed in VoD(video on demand) or the like, the media server executes media streamprocessing as needed. The Vod (video on demand) content is input from acontent management system to the media server.

(C2. Transcoding)

The transcoding function is, for example, a function for executingconversion and encoding of data corresponding to SD (StandardDefinition), which is a standard image quality, and HD (HighDefinition), which is a high image quality. For example, a clientperforms negotiation with an IPTV service providing server regarding amanner of coding a stream, and so forth, by using normal SIP SDPnegotiation in an SIP session setup, so that it is possible to receivedata coded in a form suitable for the client. The transcoding functionneeds to execute coding in consideration of a manner of coding usable onthe network and also of a bandwidth available on a stream path, and toexecute a process in consideration of suitability of a screen size,resolution, and so forth of a client.

(C3. Home Router)

In many cases, a home network is connected to a distribution network viaa home router that provides a NAT/NAPT (network addresstranslation/network address port translation) function. The home routercan be classified into two profiles of full support and restricted homerouters. For example, in order to receive an IPTV service,

-   -   UPnP, IGD    -   IP multicast pass through, IGMP, proxy, and IGMP SNOOPING    -   QoS (Quality of Services) support with priority including        mapping from DSCP to layer 2 priority tag (802.1p WMM)    -   Relay according to parameters by DHCP server function

It is preferable that these abilities are supported.

(C4. Details of Communication Process Via a Network)

Next, details of network communication using the functions describedabove, i.e.;

(C1) Media server

(C2) Transcoding function

(C3) Home router

will be described.

(Communication and Session Setup)

In a communication process via a home router, for example, NAT (networkaddress translation) or NAPT (network address port translation) is used.NAT is used to convert a private address into a global address, and NAPTis used to convert many network addresses into TCP/UDP ports. Theseprocesses may be executed by a home router, or by a NAT/NAPT router on anetwork.

For example, an SIP message between an IMS client, such as the home IMSgateway 212 in the home network 210 shown in FIG. 3, and the proxy CSCFin the CSCF 231 in the IMS network 230 is transferred using IPsec. In acase where a NAT/NAPT router exists between these, a UDP capsule of anIPsec ESP packet [ESP] is used.

In order to support multicast streaming distribution via the homerouter, the NAT/NAPT router also has IGMP (Internet Group Managementprotocol) and IGMP snooping functionality. In a case where the homerouter has a NAT/NAPT route determining functionality, it is managed bythe IMS gateway. For the IGMP snooping function to operate properly, anIGMP membership report must be generated by a device that wishes toreceive IP multicast packets. For example, an IGMP membership report ofmulticast streaming is generated by an IPTV client, not by the IMSgateway.

(Use of SNTP (Simple Network Time Protocol))

In order to set a timestamp and start recording, or the like, a clientin an IPTV system, for example, the home IMS gateway 212 or the TV 213shown in FIG. 3, requires an accurate time, for example, in units of 0.1seconds. In the IPTV system, a client implements a Simple Network TimeProtocol client [SNTP]. The SNTP client can receive time signals via adefined multicast channel.

(Protocol)

The media protocol used for media (program) communication in an IPTVservice must provide transport and control functions of real-timeaudio/video streaming of the media plane, and, for example, thefollowing protocols are used.

MPEG-2TS

All media streaming of IPTV broadcast TV and VoD service conforms toMPEG transport stream (MPEG-2TS). For media synchronization, MPEGtimestamps are used.

RTP (Real-time Transport Protocol)

MPEG2-TS packets are transported according to the RTP protocolconforming to RFC 3550 and RFC 2250.

RTCP (Real-time Control Protocol)

RTCP can be applied to both a media server and a client as an option. Itis assumed that the RTCP protocol conforms to RFC 3550 regarding eitherunicast or multicast. In order to achieve compatibility, it ispresupposed that all the media servers and clients implement bothsupport for RTCP and no support for RTCP. For example, although a mediaserver can send a sender report, a client cannot respond by a receiverreport. Furthermore, RTCP information can be disregarded by SDP beforestreaming.

FEC (Forward Error Correction)

Although loss of a packet in an IPTV network does not occur so frequencycompared with the current Internet, in a case where data transmission ata high bitrate (e.g., HD streaming) is executed, robust transport isneeded, and as a criterion of packet loss rate, for example, “the packetloss rate per two-hour content is less than or equal to 1” is used. Thetwo-hour content includes approximately 10M-IP packets, and thus it isrequired that the packet loss rate be less than or equal to 10 to 7.

In order to maintain audio/video quality, in a case where the packetloss rate is greater than the above definition, it is possible torecover packet loss. IPTV employs forward error correction (FEC) toperform error correction. Note that in order to achieve compatibility,FEC is sent from the original RTP stream using another IP port. The FECtransport format is based on RFC 2377 and its extension. The FECinformation is described by SDP so as to support another version in thefuture.

RTSP (Real-Time Streaming Protocol)

In order to implement playing control including trick play, for example,slow playing, fast forward, rewinding, skip chapter, or the like, allmedia servers and clients supports RTSP (RFC 2326). For the purpose oftransport of RTSP, TCP is used. In a case of multicast, RTSP is notused.

In an IPTV system, a client establishes a media session by the SIPprotocol, and after the session setup, RTSP is used for playbackcontrol.

(Format and Distribution of Media Content)

For a media codec of video content, MPEG-2 Part 2 and MPEG-4 Part 10(also known as AVC or H.264) are used. Distribution of media such as aTV program can be managed by a dedicated media server after setting of asession between a client and a server, and transcoding or encoding ofdistribution data is also executed via a network for media distribution.

(Data Sending and Receiving Process by Unicast Streaming)

For example, at a time of VoD (video on demand) or EPG obtaining,according to a request from a client, a unicast stream is set up bybrowsing. For example, in a case where a user on the client side selectsa VoD title, by the IPTV control function on the client side, SIP-inviteidentifying a stream is sent from the client to a media server havingdesired content (e.g., the IPTV service 250 shown in FIG. 3) using aprotocol such as RTSP.

When the preparation for starting a session is ready, the IPTV controlfunction of the client responds to SIP invite of the client, and thestream is started by RTSP PLAY from the client directly to the mediaserver or via the IPTV control function acting as RTSP proxy.

The unicast stream is used, for example, in nPVR (network personal videorecording) or VoD (video on demand). An IPTV unicast stream encapsulatesMPEG-2 or MPEG-4 Part 10 frames as an MPEG-2 transport stream, and isthen set as an RTP packet. The RTP packet is transferred by UDP/IP.

(Data Sending and Receiving Process by Multicast Streaming)

Multicast streaming is usually used to implement viewing of TVbroadcast. The following two options are available for saving multicastresources.

(a) Resource request issued from SIP SDP by Proxy CSCF

(b) Resource request issued from IGMP, issued by IP edge (IP edge deviceis the first IP node between a home network and an IP backbone networkand located at an upstream edge of an access and total network.

In the above scenario (a), when the user first starts viewing of TV froma specific IPTV provider (browses an EPG in order to check whichchannels are available), for example, the home IMS gateway 212 or the TV213 as a client shown in FIG. 3 executes SIP invite to, for example, theAS 233 of the IMS network 230 shown in FIG. 3 or the IPTV controlfunction of the IPTV service 250 to obtain available resources from thenetwork. In a process of receiving from an external server a contentlist corresponding to content that can be provided by the externalserver, the client executes a process of obtaining a content listcorresponding to a channel selected according to a provided profile, onthe basis of a user profile or client profile provided to the externalserver.

A resource ID, which is an identifier of an available resource, iswritten in EPG metadata. Upon assignment of a resource, in order to jointhe relevant multicast group, the client sends an IGMP-join messagedefined in IGMP (Internet Group Management Protocol). The multicastgroup to join is found by searching the EPG by a linking mechanism. Inthe process of receiving from an external server a content listcorresponding to content that can be provided by the external server,the client executes a process of obtaining a content list correspondingto a channel selected according to a provided profile on the basis of auser profile or client profile provided to the external server.

For example, when switching between different channels belonging to thesame IPTV service provider having the same resource ID is performed bythe user on the client side, sending of an additional SIP message is notexecuted. This is because unnecessary concealing by channelswitching/zapping is to be avoided. Channel switching is executed bysending IGMP-leave for the previous channel and IGMP-join for the newchannel. However, when the user has switched to a channel with differentresource requirements, the client sends SIP UPDATE to the IPTV controlfunction in order to report change in session parameters and to enablethe proxy CSCF to modify resource allocation. Upon modification of theresources, the client sends an IGMP-join message for the new multicastgroup. As described above, the client executes sending of an SIP messageaccording to SIP (Session Initiation Protocol) in a case where channelswitching involves switching of service provider, and does not executesending of an SIP message in channel switching between content providedby the same service provider.

In the above scenario (b), with the exception that an SIP update messageis not needed during channel switching between channels with differentresource requirements, the channel switching operation is the same.Furthermore, all resource requests are executed by an IP edge device asresults of IGMP reports. In a case where resources are not sufficientdue to channel switching, multicast join is not performed. In thescenario (b), the purpose of an SIP session is service monitoring ratherthan resource management.

The client includes a function of restricting IGMP channels that theuser is allowed to join, for example, according to a subscriber profileowned by the HSS 233 shown in FIG. 3. Furthermore, as an option, anaccess node of the network can execute verification for permission of asubscriber to join certain channels. The basics of the communicationmechanism of a multicast stream are the same as those of unicast, butthe source and destination addresses in the IP layer are set accordingto the media server and the multicast group.

The process of switching between multicast distribution content andunicast distribution content, executed on the client side, will besummarized. At a time of receiving multicast distribution contentprovided by an external server, for example, the IPTV service 250 shownin FIG. 3, a data processing unit of a client apparatus sends anIGMP-join message as a message conforming to IGMP (Internet GroupManagement Protocol) to the external server or management server, andstops reception of the multicast distribution content, and in a casewhere reception of unicast distribution content is to be started, thedata processing unit executes a process of sending an IGMP-leave messageas a message conforming to IGMP to the external server or managementserver.

Furthermore, the data processing unit of the client executes a processof receiving multicast distribution content in TV broadcast reception,and executes a process of switching to unicast distribution at a time ofexecution of VoD (video on demand). Furthermore, at a time of an nPVR(network personal video recording) process executed as a user-specificcontent recording process, the data processing unit executes a processof switching to unicast distribution. Furthermore, also at a time ofexecution of a trick play as a special content playing process, the dataprocessing unit executes a process of switching to unicast distributionas a process of receiving a content list corresponding to a user profileor client profile.

(Management of Quality of Service)

In an IPTV system, except inside the home network, it is possible tomanage quality of services in all network segments. Traffic managementis executed in communication via the network in the networkconfiguration shown in FIG. 3. A process of managing quality ofcommunication data will be described with reference to FIG. 18. As shownin FIG. 18, IPTV QoS (Quority of Services) control/management isexecuted on the basis of RACS (Resource and Admission ControlSubsystem). RACS is in charge of policy control, resource saving, andadmission control. This enables the service to request transportresources via RACS. The current range of RACS includes mutual connectionof a plurality of networks used in the IPTV system. The RACSarchitecture includes SPDF (Service Policy Determining Function) andA-RACF (Access Resource and Admission Control Function).

A communication executing application (e.g., the proxy CSCF of the CSCF231 of the IMS network 230 shown in FIG. 3) maps application layer QoSinformation (e.g., parameters defined in SDP) to QoS information sent toSPDF. The SPDF can serve as a logical entity of the proxy CSCF oranother physical node, and information needed for this process isobtained from an SIP invite message sent from the client when the userrequests a multicast channel or a unicast session.

A-RACF located in the access network receives requests from SPDF, and onthe basis of the requests and policy information saved in A-RACF, A-RACFcan either accept or reject the requests to transport resources underthe control thereof. This includes an IP edge and an access node, andfinally a response is generated and provided to the application.

(Failure of Resource Saving and Failure Report)

RACS is in charge of resource saving. Hereinafter, failure of resourcesaving and a failure reporting process will be described. In a casewhere RACS fails in resource saving, i.e., upon the SPDF receiving asaving failure report from the A-RACF, as a process of reporting acommunication error code, the RACS returns Experimental-Result-Code AVPtogether with the following value to the proxy CSCF, which is thecommunication executing application.

-   -   In a case of failed resource saving, INSUFFICIENT_RESOURCES    -   In a case of failed change of resource saving,        MODIFICATION_FAILURE

The proxy CSCF, which is the communication executing application, mustmap the received error code to an SIP error code, and return it to theterminal (client), i.e., must reject SIP INVITE or SIP UPDATE. Note thatfor the purpose of [SETUP] of this process, a “Precondition Failure” SIPstatus code can be used.

(Ordering of Communication Data)

For example, the priority ordering of communication data in the homenetwork can be performed on the basis of priority marking. This approachconforms to the DLNA guideline. For example, a rule of mapping betweentypes of communication data (traffic types) and priorities (priority[DLNA]) is set, and the priority of communication data is determined onthe basis of this rule.

[3. Specific Process Examples of IPTV Services]

Next, specific process examples of IPTV services will be described inorder, individually regarding the following two items:

3-1. Specific process example of communication process

3-2. Specific process examples of various services

[3-1. Specific Example Process of Communication Process]

In an IPTV service, a medium as content, such as a program, isdistributed via an IP network, and IMS is used for identity (identifier)management, authentication, permission, and so forth. The IPTV systemuses IMS in order to ensure that data communication is handled by areliable, authenticated, and permitted method. In the IPTV service, SIPis used at a time of distribution of a media stream, and SIP is alsoused to execute other functions. An advantage of using IMS is that allSIP messages automatically pass through the IMS proxy. This means thatthe content and headers of messages can be used for automatedinteraction, such as setting of a correct quality of service.

The IPTV architecture is designed so that mutual connection is allowedwith DLNA communication converted into SIP. In other parts of thesystem, for example, when it interacts with components of the contentmanagement function, the IPTV application function receives SIP signalcommunication from the IPTV control function, and converts it intoanother protocol (HTTP or the like). The processes are executed mainlyby the IMS application server (AS).

Hereinafter, as three specific deployment examples of IPTV service,

3-1-1. Deployment scenario 1

3-1-2. Deployment scenario 2

3-1-3. Deployment scenario 3

These three types of deployment scenarios will be described.Furthermore,

3-1-4. Network connecting process of client

3-1-5. Network disconnecting process of client

3-1-6. Service discovery process of client

These will be described.

Although the deployment scenarios 1 and 2 seem to be very similar, theyare actually very different. A main difference is that although it isassumed in the scenario 1 that each terminal has its own IMS identifier(identity), in the scenario 2, terminals share the same private IMSidentifier. Although this is not seen from the user's viewpoint, thismakes a big difference for an operator regarding the method of networkmanagement and a processing method for subscription. Note that thescenarios described below are not mutually exclusive but arecomplementary, and can occur simultaneously in the same network.

(3-1-1. Deployment Scenario 1: Case where Each Client is Configured asan IMS Terminal)

First, with reference to FIG. 19 and subsequent figures, a processexample in a case where each client is configured as an IMS terminalwill be described.

FIG. 19 shows a client (home network client) 710, an IMS network 720, ahome network 730, and an IP network 740. The client (home networkclient) 710 includes a TV (DMP) 711 and a home IMS gateway 712 asconfigurations for receiving an IPTV service, and as described withreference to FIG. 3, the IMS network 720 includes a CSCF 721, an HSS722, and an AS 723. Furthermore, these are shown as divided into acontrol management function that executes content control, a serviceproviding function that provides services, and an IMS core section thatcontrols other processes such as a registration process andcommunication relaying. Various processes are executed separately in (a)application layer, (b) control layer, and (c) media layer as processesinvolving communication between the individual layers.

First, the deployment scenario 1 is a process example in a case wherethere is no physical boundary between the TV (DMP) 711 and the home IMSgateway 712 in the client (home network client) 710 and theseapparatuses are integrated. FIG. 19 is an example of a process ofregistering a client. A registration request is sent from the TV (DMP)711 to the IMS core of the IMS network 720 via the home IMS gateway 712,and the service providing function executes the registration process.

After the registration is performed, the TV (DMP) 711, which is aclient, sends [SIP SUBSCRIBE] to the IPTV control function included inthe content management function of the IMS network 720. Then, as shownin FIG. 20, the IPTV control function of the content management functionprovides the client with [SIP NOTIFY] including an address of amulticast data channel and a URL of EPG.

Upon receiving SIP NOTIFY, the TV (DMP) 711, which is a client, startslistening by the multicast channel. Furthermore, it downloads the firstpage of EPG and displays it (in a case where the configuration is suchthat the user starts with EPG), or downloads many pages depending oncases. After receiving EPG, the user selects a channel for viewing. Atthis time, [T SIP INVITE] is sent to the IPTV control function, and thisfunction captures it and sets up a correct QoS. Then, the user startsviewing the channel, and performs switching among multicast channels.FIG. 21 is shows a communication sequence in an occasion when the userhas executed a channel selecting process.

When the user request for a stream, QoS is managed by A-RACF (refer toFIG. 18) according to a request from a proxy CSCF that uses informationpicked up from [SIP Invite] or according to a request from an IP edgedevice that uses IGMP and knowledge of requirements of multicaststreams. For an option at a time when the proxy CSCF requests for accessresources, when the user performs switching between channels in a groupof channels having the same resource requirements, an SIP message is notsent to the IPTV control function. However, for example, when the userswitches to a pay-per-view channel or switches to a channel in a grouphaving different resource requirements, the IPTV control function mustreceive a notification since P-CSCF can change necessary conditions ofresources. In an option in which an IP edge device requests for accessto resources, an SIP message is needed only when the user switches topay-per-view.

(3-1-2. Deployment Scenario 2: Case where a Client is an SIP Client butnot an IMS Client)

Next, in the deployment scenario 2, a case will be described where thereexists physical separation between a TV (DMP) 711, which is an IPTVclient, and a home IMS gateway 712, and these apparatuses are separateapparatuses that are not integrated, as shown in FIG. 22. IPTV clientsdo not have separate ISIMs (IP Multimedia Services Identity Modules).ISIM of IMS GW is shared by all clients.

In this case, the home IMS gateway 712 is used as a proxy, and althoughthe TV (DMP) 711, which is an IPTV client, is directly registered in theIMS core, the home IMS gateway 712 passes messages to the IMS core.Control information is passed through the home IMS gateway 712 by usingSIP, and media are distributed directly from a media server (in acontent provider domain) to the IPTV client. In order to access aservice, IMS identification information (IMS PUID) is needed. The flowin this case is basically the same as the flow of the deploymentscenario 1, and a main difference is that registration is performedthrough the home IMS gateway 712. The user obtains an EPG and a mediastream similarly to the scenario 1.

(3-1-3. Deployment Scenario 3: Case of DLNA-IPTV Interconnection)

In a case where a home network uses DLNA, it is necessary to bridge SIPcommunication of an IPTV system and HTTP communication of a DLNA system,and to bridge IP (which uses DVB encapsusation) media distribution bythe IPTV system and HTTP-based media distribution by the DLNA system.For this purpose, an IPTV-DLNA application gateway, which is a gatewaythat bridges two different systems, is provided.

As shown in FIG. 23, when a DLNA device 713 requests a media stream froman IPTV service provider, the IPTV-DLNA application gateway connects tothe home IMS gateway 712, and it is registered similarly as an SIPclient not having an IMS client, similarly to the scenario 2. Forexample, in the example shown in FIG. 23, the TV (DMP) 711 functions asthe IPTV-DLNA application gateway. The IPTV-DLNA application gateway canperform registration also when connecting to a network as an SIP clientsimilarly to a case where there is no IMS client.

The deployment scenario can be implemented by two methods. One is amethod based on the deployment scenario 1, and the other is implementedas a process based on the deployment scenario 2. A dotted line 715 shownin FIG. 23 means that the TV 711, which is an IPTV client, and the homeIMS gateway 712 may be either physically integrated or separable.Hereinafter, five use cases of the IPTV and DLNA application gatewaywill be described. From the viewpoint of the IPTV system, the IPTV-DLNAapplication gateway acts as an IPTV client.

The following specific process examples executed in the deploymentscenario 3 will be described.

3-1-3a. 2BOX PULL

3-1-3b. 3BOX PULL

3-1-3c. Download

3-1-3d. 2BOX PUSH

3-1-3e. Upload

(3-1-3a. 2BOX PULL)

In the 2BOX PULL scenario defined by DLNA, i.e., in a configurationwhere processes are executed by connecting a DMS (digital media server)and a DMP (digital media player) one to one, the IPTV-DLNA applicationgateway acts as a DLNA digital media server (DMS) that implements a UPnPAV media server (UPnP device). In response to a request by a DLNAdigital media player (operated by the user), the IPTV-DLNA applicationgateway converts a media format and protocol of an EPG/VoD content list,program content, and so forth into a DLNA protocol.

(3-1-3b. 3BOX PULL)

In the 3BOX PULL scenario defined by DLNA, i.e., in a configurationwhere processes are executed by connecting a DMS, a DMP, and a DMC(Digital Media Controller), in the 3BOX PULL scenario, the IPTV-DLNAapplication gateway functions as a DLNA digital media server, similarlyto the use case of 2BOX PULL. However, there is a difference from the2BOX PULL scenario. The user browses an EPG/VoD content list byoperating the DLNA digital media controller (DMC), and causes a digitalmedia renderer to play video content.

(3-1-3c. Download)

In a download process, similarly to the 2BOX PULL use case, theIPTV-DLNA application gateway functions as a DLNA digital media server.A difference from 2BOX pull is that a download controller (+DN+)downloads video content provided by the DMS. Although it is not possibleto output content to the IPTV-DLNA application gateway, instead, contentis downloaded in response to a request (e.g., for a VoD service).

(3-1-3d. 2BOX PUSH)

In the 2BOX PUSH use case defined by DLNA, i.e., in the 2BOX PUSH usecase where processes are executed by connecting a controller having acontent distribution function and a digital media renderer (DML) havinga playing function one to one, the IPTV-DLNA application gatewayfunctions as a DLNA Push controller (+PU+) that implements a UPnPcontrol point for a UPnP AV renderer.

Generally, the user operates a client device to browse a content listcorresponding to EPG/VoD of an IPTV service, and can cause the DLNAdigital media renderer to play selected video content by a method inwhich the DLNA Push controller controls the DLNA media renderer in orderto transmit video streaming provided by the DLNA Push controller of theIPTV-DLNA application gateway.

(3-1-3c. Upload)

In an upload process, the IPTV-DLNA application gateway functions as aDLNA upload controller (+UP+) that implements a UPnP control point for aUPnP AV server (UPnP device). Generally, the user can operate a clientdevice to browse an EPG/VoD content list of an IPTV service. The DLNAdigital media server saves selected video content provided by the DLNAupload controller of the IPTV-DLNA application gateway.

(3.1.3. Network Connecting Process of a Client)

Next, an example of a network connecting process of a client forreceiving an IPTV service will be described with reference to FIG. 24and subsequent figures.

FIG. 24 is a sequence diagram showing an example of a network connectingprocess of a client. From the left, a client corresponding to, forexample, the TV (DMP) shown in FIG. 3, a home IMS gateway, andfurthermore, CSCF, HSS, and AP (IPTV), which are components of an IMSnetwork, are shown. Note that regarding CSCF of the IMS network, theproxy CSCF (P-CSCF), the interrogating CSCF (I-CSCF), and the servingCSCF (S-CSCF), described earlier, are shown individually.

First, the client obtains an IP address in step S501, and outputs aregistration request in step S502. The registration request is sent fromthe home IMS gateway to the proxy CSCF (P-CSCF), the interrogating CSCF(I-CSCF), and the serving CSCF (S-CSCF) of CSCF, which are components ofthe IMS network. In step S503, S-CSCF executes obtainment of a userprofile from the HSS, and in step S504, notification of a requestresponse to the client is performed.

Then, in step S505, setting is made such that IPSec communication isallowed between the client and the proxy CSCF (P-CSCF) of CSCF, which isa component of the ISM network, and the subsequent communication isexecuted according to IPSec. In step S506, the client outputs an IPTVservice registration request, which is received by the serving CSCF(S-CSCF) of CSCF, which is a component of the IMS network. In step S507,an AS selection process is performed, and in step S508, a registrationrequest is issued to the selected AS.

The AS (IPTV) obtains an IPTV profile in step S509, and issues aregistration completion notification to the client in step S510. On thebasis of reception of the registration completion notification, theclient outputs a content obtaining request to the AS in step S511, andobtains content from the AS in step S512.

FIG. 25 is a sequence diagram of a case where a registration process bythe home IMS gateway, not the registration process by the client, isexecuted. First, the home IMS gateway obtains an IP address in stepS521, and outputs a registration request in step S522. The registrationrequest is sent from the home IMS gateway to the proxy CSCF (P-CSCF),the interrogating CSCF (I-CSCF), and the serving CSCF (S-CSCF) of CSCF,which are components of the IMS network. In step S523, S-CSCF executesobtainment of a user profile from the HSS, and in step S524,notification of a request response to the home IMS gateway is performed.

Then, in step S525, setting is made such that IPSec communication isallowed between the home IMS gateway and the proxy CSCF (P-CSCF) ofCSCF, which is a component of the ISM network, and the subsequentcommunication is executed according to IPSec. In step S526, the home IMSgateway outputs an IPTV service registration request, which is receivedby the serving CSCF (S-CSCF) of CSCF, which is a component of the IMSnetwork. In step S527, an AS selection process is performed, and in stepS528, a registration request is issued to the selected AS.

The AS (IPTV) obtains an IPTV profile in step S529, and issues aregistration completion notification to the home IMS gateway in stepS530.

FIG. 26 is an example of a sequence in a case where communicationbetween the client and the home IMS gateway and communication betweenthe home IMS gateway and the IMS network are executed individually.First, in step S541, the client sends a registration request to the homeIMS gateway.

The client address in this case is an address (@home) in the homenetwork. Upon receiving the registration request from the client, thehome IMS gateway converts it into a global address (@op.com) and outputsthe registration request to the IMS network. The registration request issent to the proxy CSCF (P-CSCF), the interrogating CSCF (I-CSCF), andthe serving CSCF (S-CSCF) of CSCF, which are components of the IMSnetwork. In step S542, S-CSCF executes obtainment of a user profile fromthe HSS, and in step S543, notification of a request response to thehome IMS gateway is performed.

Then, in step S544, setting is made such that IPSec communication isallowed between the home IMS gateway and the proxy CSCF (P-CSCF) ofCSCF, which is a component of the ISM network, and the subsequentcommunication is executed according to IPSec. In step S545, the home IMSgateway outputs an IPTV service registration request, which is receivedby the serving CSCF (S-CSCF) of CSCF, which is a component of the IMSnetwork. In step S546, an AS selection process is performed, and in stepS547, a registration request is issued to the selected AS.

The AS (IPTV) obtains an IPTV profile in step S548, and issues aregistration completion notification to the home IMS gateway in stepS549. This notification is sent from the home IMS gateway to the clientvia the home network. On the basis of reception of the registrationnotification request, the client outputs a content obtaining request tothe home IMS gateway in step s550. The home IMS gateway outputs thisrequest to the AS, and obtains content from the AS and transfers thecontent to the client in step S551.

Note that in a case where setting is made such that it is possible toprovide an IPTV service to the DLNA device 713 as described earlier withreference to FIG. 23, the home IMS gateway discovers an IPTV controlfunction, receives EPG data, and then enables [IPTV DLNA app GW] forexecuting interconnection between the DLNA device and the IPTV service.In a case where [IPTV DLNA app GW] functions as a UPnP device, i.e., asa DLNA media server, IPTV DLNA app GW starts the SSDP (Simple ServiceDiscovery Protocol) discovered by a UPnP control point [SSDP]. In a casewhere IPTV DLNA app GW functions as a UPnP control point, i.e., as aDLNA Push controller, IPTV DLNA app GW need not start SSDP of a UPnPdevice, and instead starts SSDP of the UPnP control point in order todiscover a UPnP device.

Note that since the DLNA protocol, i.e., device discovery and devicecontrol in the UPnP device architecture, is based on sessionlesscommunication, there is no concept of establishment of a session inwhich the UPnP control point performs communication with the UPnPdevice. While the digital media server, i.e., the UPnP device, is usableon the network, the digital media player and the digital media renderer,i.e., the UPnP control point, can anytime request a SOAP message forcontrol regarding media streaming and for an HTTP request, and the DMSof IPTV DLNA app GW must respond to the request within, for example, 30seconds even in the worst case.

IPTV DLNA app GW can maintain a session with the IMS core (CSCF) and theIPTV control function while the DMS of IPTV DLNA app GW is usable on thenetwork. In a case where the session is terminated, IPTV DLNA app GW canreset a session when an SOAP request and an HTTP request from the DMPexist. In a case where IPTV DLNA app GW acts as a Push controller, i.e.,as a UPnP control point, it is possible to know the length of periodduring which the session is maintained.

In a case where the channel of IPTV service is changed, an HTTP requestfor channel changing from the DLNA device is converted into IGMP(Internet Group Management Protocol). For example, it is converted intoIGMP (Internet Group Management Protocol) by the IPTV-DLNA applicationgateway.

(3-1-5. Network Disconnection of a Client)

Next, a process of disconnecting from an IPTV service will be described.At an IPTV service receiving client, it is possible to turn off adisplay and to disconnect the client from a network. This process ofdisconnecting from the IPTV service is executed, for example, accordingto the following sequence.

(Step 1)

The client stops media reception.

Note that in the case of multicast, IGMP leave is used to leave from amulticast stream relating to the channel that the user has been viewing.

(Step 2)

The client sends SIP BYE to the IPTV service providing entity toestablish an SIP session relating to media reception.

Note that in the case of unicast, the IPTV service providing entityexecutes an RTSP TEARDOWN command to stop the RTP unicast flow, andcloses the port in a case where the media server does not notice the SIPprotocol.

(Step 3)

The client sends SUBSCRIBE to the IPTV service providing entity byExpire 0 to notify IPTV AS that a switch off will occur on the clientside.

(Step 4)

Upon expiration of the service period, the client sends SIP REGISTER tocancel registration of the client identifier. Note that for obtainingthe registration information, data (GRUU: Globally Routable User AgentURI) received from the serving CSCF is needed.

(Step 5)

The client sends IGMP leave for the control channel.

(Step 6)

Disconnected from the IPTV service and IMS.

(Uncontrolled Disconnection from an IPTV Service)

In some cases, for example, in a case where a power failure occurs,disconnection is performed without executing the sequence describedabove. That is, in some cases, uncontrolled disconnection from an IPTVservice is performed. In this case, it is necessary to stop a media flowof a program or the like being transmitted. However, in this case, aprocess must be executed in consideration of the following matters:

(a) Process of stopping the media flow

(b) SIP dialog of the network

These will be described below.

(a) Process of Stopping the Media Flow

In a case where the client is receiving multimedia streams, the onlymethod that can be used to stop the media streams is a default timeoutof IGMPv3 (a group membership interval of 225 seconds according to[IGMP]).

In the case of unicast transmission, in most media unicast transportmechanisms, a process of receiving feedback information is performed,and a timeout time is set in the feedback information, so that astopping process using the timeout time becomes possible.

(b) SIP Dialog of the Network

For all SIP states of the network, usually, the default expiration valueis 3600 seconds. This state relates to SIP REGISTER, SUBSCRIBE, andINVITE. The timeout mechanism clears the state of the IMS core (in acase where a reconnection occurs before a timeout, the timer increasesafter a new registration).

The fact that the state of SIP is maintained to be active for one hourdoes not mean that traffic is sent for one hour. Actually, after thefirst NOTIFY that does not reach a destination, the IMS core is notifiedof the unavailability of a client, and clears the state accordingly.

(3-1-6. Service Discovery Process of a Client)

A process in which discovery of IPTV services is performed in an IMSnetwork will be described. IPTV service providers are discovered andpresented to the user so that selection by the user is allowed, forexample, as described below. Note that for this process, completion ofUMS registration by the user is a presupposed condition.

The first issues a request to the IMS provider to attempt discovery ofIPTV service providers. In a case where this fails, it is possible toissue a request to an entity other than the IMS provider, for example, aroot. The service provider discovery process starts with discovery ofIPTV service providers that provide IPTV services.

There exist many models that can be used for discovering IPTV serviceproviders in an IMS network. These are all based on the presuppositionthat application servers (ASs (IPTVs)) capable of providing servicesexist in the network, and that the IPTV service providers can beidentified by PSIs, feature tags, or other SIP headers.

The step of discovering service providers is executed according to, forexample, high-level description of “transport of an MPEG-2 TS-based DVBservice in an IP-based network”. SIP is used as communication for userauthentication, and an IMS trust model for boot-strapping information,such as P-Asserted-Identity, is used. An SIP request that uses DVB IPdel that starts with a service IPTV can serve as an IPTV provider. Forexample, it is identified by that SP CANAL+ is a domain name, and it ispossible to assign to a service a name corresponding to the service.

In a case where this fails, the process described below is executed.

In a case where an IPTV server has not been assigned when an IPTVapplication is started, an IPTV service bootstrap service or a defaultaddress is used.

The IPTV client sets control signal communication for IPTV SIP dialog,and defines a route in the IMS network CSCF. This also means that it isnot necessary to know an accurate address of a service since it can beadded later. In the IMS network, CSCF must understand that the SIPdialog is an IPTV dialog, and define the route in IPTV CF (ControlFunction). This allows IPTV CF to provide discovery informationregarding the service provider and the service provided.

Information (e.g., SIP URI or the like) regarding the IPTV serviceprovider is provided to the user by using the SIP dialog, and when theuser has discovered IPTV service providers, these providers arepresented to the user. The user can then receive EPGs (or VOD and nPVRcontent lists or the like) provided by the IPTV service providers.

(Service Discovery by UPnP)

Next, a service discovery process by UPnP will be described.

The IPTV client obtains an IP address of the proxy CSCF from the DHCPoption of SIP, or uses a default IP address of the proxy CSCF, writtenon an ISIM (IP Multimedia Services Identity Module) card of an IMSoperator.

Alternatively, the IPTV client discovers a home IMS gateway by using aUPnP discovery mechanism. The home IMS gateway implements a UPnP IMS GWservice, which is a UPnP service. In order to discover the UPnP IMS GWservice, the IPTV client performs a process in which SSDP is used, suchas sending or receiving SSDP:M-Search. Upon discovering the UPnP IMS GWservice, the IPTV client issues a request for obtaining an IP addressand port of IMS B2BUA of IMS GW. Then, the IPTV client starts an SIPsession with the IMS core via the home IMS GW, and discovers IPTVservices.

For example, a process sequence in the case of service discovery by aDLNA device, described with reference to FIG. 23, is as follows. TheUPnP control point of the DLNA device can discover DMS by IPTV DLNA appGW in the case of 2BOX PULL, DOWNLOAD, and 3BOX PULL described earlier.The service discovery of IPTV services is executed by the home IMS GW bythe method that is the same as the method described earlier. Methods ofdeploying a plurality of IPTV services vary among vendors. For example,IPTV DLNA app GW can use a plurality of DMSs individually correspondingto IPTV services. To each DMS, a name as a UPnP device, which allows thecorresponding IPTV service, is set so that the user can select anappropriate DMS for the IPTV service.

In the case of 2BOX PUSH and UPLOAD, the IPTV-DLNA application gatewaycontrols the UPnP device of the DLNA device so that it is not necessaryto implement a UPnP device with which the IPTV-DLNA application gatewayis discovered.

[3-2. Specific Process Examples of Various Services]

Next, various services executed in IPTV services will be described. Thefollowing items will be described in order.

3-2-1. TV broadcasting

3-2-2. nPVR (network Personal Video Recording)

3-2-3. VoD (Video on Demand)

3-2-4. Content filtering and personalization

3-2-5. Interaction with TV

3-2-6. Profile management

3-2-7. Process for matching with device capabilities

(3-2-1. TV Broadcasting)

In IPTV services, in addition to channel switching, EPG browsing must beprovided to the user as quickly as TV broadcasting. In order to minimizethe user metadata waiting time of EPG metadata transmission, EPGmetadata regarding programs during a certain period (e.g., 8 days) ispreloaded on the client, and in order to minimize transactions persecond and the necessary bandwidth in the EPG distribution system,service information, i.e., TV channel information and EPG, i.e., TVprogram information, is distributed via a multicast data channel. TheIPTV content browser and IPTV navigation application of the client,described with reference to FIG. 15, searches for EPG metadata by usingthe MDC control function.

The EPG metadata is also distributed by unicast. Although EPG metadatacorresponding to basic programs corresponding to programs provided byIPTV services, or EPG metadata of statistically popular programs, or thelike is distributed by multicast, high-level EPG metadata with richinformation, such as other program information or thumbnail images, canbe obtained through searching by using unicast.

EPG metadata provided by IPTV service providers is distributed regularlythrough a single multicast data channel. The multicast channel controlfunction of the client, described with reference to FIG. 15, filterstagged EPG metadata, such as channel subscription, according to theclient configuration, and saves the filtered EPG metadata in a memory.The IPTV service browser and IPTV navigation application uses the MDCcontrol function to search for EPG data. The cycle time of transmissionof EPG metadata varies depending on the information types.

Service information including multicast channel addresses of TV channelsand EPG metadata regarding content (programs) currently being broadcastand next content is sent frequency, for example, at intervals of 2seconds. EPG metadata corresponding to programs on the current day issent, for example, at intervals of 30 seconds.

Since the schedule of TV programs of broadcasting TV services isdetermined in advance, it suffices for the client to search for new EPGmetadata for future programs once a day. However, in order to notify theclient of changes in program schedule that occur occasionally, such asurgent news or extra innings of a baseball game, updating of EPGmetadata is also distributed regularly, for example, at intervals of 2seconds, through the multicast data channel. In order to receive theupdating of EPG metadata, the client monitors the multicast data channelfor the EPG metadata when receiving a media stream via the multicastchannel.

The EPG metadata distributed through the multicast data channel is dataincluding basic information regarding programs, which is programinformation. In order to obtain detailed information regarding programsand related information regarding programs, linked to the basicinformation of programs, the client can use a unicast request to an EPGserver. The program information is composed of text, video, audio, andso forth, and interaction with the user in presentation of theseprograms can be implemented by bilateral unicast communication. In anEPG or program information menu, it is possible to set a subscreen on adisplay of the client displaying the menu and to display a preview videostream.

Note that EPG can be personalized for each user or client, i.e., EPG canbe presented with a specific EPG setting corresponding to the user orclient. For example, personalization of EPG for each channel can beimplemented similarly to configuring EPG according to channelsubscription regarding a user profile. Depending on the user profile,program information regarding particular channels is not displayed. Alsoregarding the display order of channels regarding the EPG menu,personalization according to the user profile, i.e., a processcorresponding to each user, is allowed.

Switching of TV Broadcasting Channels

When an IPTV service is provided, packet buffering is performed at theclient in order to perform a playing process smoothly, such as removalof jitter caused by the network. The client stores data received from anIPTV service providing server until the data reaches a certainthreshold, and then executes a process for playing, such as decoding.Furthermore, in some cases, transmission and reception of intra-framesare executed by multicast forwarding for reconstruction of images.

Furthermore, in order to avoid consumption of bandwidth, on occasion ofchannel switching, a process of concluding an old channel for which theprevious viewing has been finished is executed. This process can beexecuted by IGMP leave, which is a process similar to IGMP join. Onoccasion of this process, checking is performed at all IGMP aware nodes,comparison with a list of nodes that receive old multicast data isexecuted, and in a case where a certain node is to stop reception ofmulticast data, a process of cutting out the node from a multicast treeis performed.

In order to execute decoding and playing of a received video stream atthe client, it is necessary to collect much information from thereceived stream. These information is sent using a particular frequency.Particularly, to start display of new video forwarding movie, a decodermust wait until intra-frames arrive in the video stream. Theintra-frames are configured as frames including sufficient informationin itself so that complete video can be reconstructed. Depending on theencoding type, usually, these are sent at intervals of 0.5 to 5 seconds.

There exist various types of delay that can occur in data communicationin IPTV services. For example, a process of SIP interaction on occasionof setting a new stream can become a factor that causes a delay. Forexample, a process regarding SIP INVITE, which is executed in the SIPinteraction process, is a conceivable factor that can cause a delay.Thus, a measure for avoiding delay is to reduce the SIP interactionprocess. Specifically, it is effective to make setting such that an SIPdialog occurs only when the characteristics of multicast streams changebetween multicast channels. According to this idea, a configuration isemployed in which when the client tunes in to an ordinary broadcastingchannel, an SIP session is established by requesting multicasttransmission having stream characteristics, and setting is made suchthat other changes in multicast channels require only IGMP interaction,which does not involve SIP intervention, and it is switched to an SIPdialog only when the characteristics of received streams differ.Furthermore, SIP INVITE and IGMP join for the new channel are sent.Regarding delay that occurs in IGMP setup, it is possible to makeimprovements by allowing use of multicast channels at a point as closeas possible to the end user. However, this results in consumption of alarger bandwidth in the access network.

An improvement should also be made regarding delay of intra-framesneeded to start decoding of an MPEG stream. It is possible to overcomedelay of intra-frames by a configuration in which intra-frames areobtained by a pull mechanism from a point relatively close to the clientin the network or by providing intra-frames to the client by anout-of-band mechanism.

(3-2-2. nPVR (network Personal Video Recording))

Next, nPVR (network Personal Video Recording), which is a serviceavailable in IPTV services, will be described.

nPVR (network Personal Video Recording) can be started by variousmethods. This varies depending mainly on IPTV service providers.

-   -   A simplest method of recording a program, such as a program, is        to select a program on EPG and to press a recording button by a        remote controller owned by the user. Furthermore, a        configuration in which a time, day, length, and so forth of        recording by the user are input.

Alternatively, setting may be such that all the programs provided to theclient are recorded. This means that the IPTV service provider recordall and save it on a server for a predetermined period. In this way, theuser is not bothered with recording, and is allowed to view a past nPVREPG that seems similar to an ordinary EPG.

What must be supported by the IPTV architecture are an interface foridentifying a program to be recorded and an identification mechanism forachieving this with EPG. The same link mechanism as that for TVbroadcasting is used if possible, and in command communication for arecording process, an RTSP RECORD command, an SIP INVITE to nPVRincluding recording details, or the like can be used.

For example, trick play is a process used in a case where the userrequests personal recording regarding content that is being received andplayed in an IPTV service. For example, the client presses a pausebutton by a remote controller to execute an nPVR recording function, andthen freezes the picture to execute IGMP leave from the multicastchannel. Furthermore, the client saves content. Note that theconfiguration may be such that data saving is executed at a server. Whenthe user wishes to view it again later, it is possible to execute nPVRsearching and to perform playing by an RTSP PLAY command.

Regarding a content list (index) that can be used in nPVR, the contentformat and metadata that are the same as those for EPG and VoD can beused. The linking mechanism that is the same as that for TV broadcastingmust be used, except that linking is performed by the IPTV controlfunction in order to identify a unicast resource, as in the case of VoD.Usually, searching for an nPVR content list is executed as HTTP GET. Fora process of searching for nPVR content available to the client, theIPTV service provider provides a server-based searching function. Theinterface of the searching page completely depends on the serviceprovider.

In a process of playing content recorded by nPVR, it is necessary tofirst select intended nPVR content. Searching is performed by clickingon a link to nPVR content list. Content searching is executed as aunicast stream. That is, a stream starts when the user has pressed“play” or has clicked on the link to the content list.

The configuration of the client apparatus in a case where the nPVR(network Personal Video Recording) process executed as a user-specificcontent recording process is executed is, for example, as follows. Aninformation processing apparatus as a client includes a data processingunit that executes a process of receiving a content providing serviceprovided by an external server existing outside a home network, by usingmapping information in which the external server is set as a virtualhome network device, and the data processing unit controls the nPVR(network Personal Video Recording) process executed as the user-specificcontent recording process regarding content provided by the externalserver.

The data processing unit executes a process of receiving multicastdistribution content when receiving TV broadcasting provided by theexternal server, and executes a process of switching to unicastdistribution on occasion of the nPVR (network Personal Video Recording)process executed as the user-specific content recording process.Furthermore, in a case where reception of unicast distribution contentis to be started, it sends an IGMP (Internet Group Management Protocol)leave message to the external server or a management server as a messageaccording to IGMP.

Furthermore, regarding nPVR (network Personal Video Recording), the dataprocessing unit of the client can request the external server or anothernetwork-connected server to execute content recording by using storagemeans of these servers. In this case, information needed for recording,such as recording content information and time information, is providedto these servers. Furthermore, in a process of receiving from theexternal server a content list corresponding to content for which nPVR(network Personal Video Recording) can be executed, the data processingunit of the client performs a process of obtaining a content listselected in accordance with a provided profile based on a user profileor a client profile provided to the external server. Furthermore, onoccasion of execution of nPVR (network Personal Video Recording), thedata processing unit of the client executes a process of outputtingcontent selection information or recording time specifying informationin EPG (Electronic Program Guide) to the external server or a managementserver. nPVR is executed by these processes.

Furthermore, the client is an information processing apparatus thatreceives content regarding IPTV provided via a public network, which isnot a home network, and includes means for setting an external serverconnected to the public network as a virtual home network device; andcontrol means for controlling a process of recording or playing contentat the external server via the public network so that the externalserver functions as a personal video recorder that records or playsuser-specific content. Furthermore, the control means of the clientexecutes a process of controlling a process of playing content at theexternal server via the public network in order to implement unicast inwhich particular content is provided only to a particular user, andfurthermore, it executes a process of controlling a process of recordingor playing content at the external server via the public network so thatthe external server functions as a personal video recorder that recordsuser content.

(3-2-3. VoD (Video on Demand))

VoD (Video on Demand) is a specification for distributing content inresponse to a request by a user on the client side. Basically, it isexecuted by unicast. It is possible to insert an advertisement tocontent (media) distributed by VOD and to perform searching based on theadvertisement similarly to a broadcasting service or EPG.

Furthermore, it is possible to view on the client side a content list(index) that can be used for VOD. It is possible to make setting thatthe content list (index) is limited to content that the user ispermitted to view, i.e., it is possible to browse a result of filtering.Although the filtering can be executed within the network, in that case,the VoD content list must be unicast, or the client can use multicast inorder to preload a cache of the VoD content list. The VoD content listis obtained in a manner partially similar to obtaining EPG information.

Searching for available VoD content requires that the client can executean operation for query to the network. The content searching is executedwith content metadata.

In a case where content is played by VoD, from the VoD content list, theclient must select a piece of available content that the user ispermitted to view and output a content request. For example, if contentin the content list is specified, a link to URI of the VoD service isactivated, the IPTV control function processes the request. It ischecked whether the user has already purchased the content, and in acase where the content has not been purchased, a charge for the contentis checked. In other cases, the content request is rejected.

(3-2-4. Content Filtering and Personalization)

Next, content filtering and personalization executed in an IPTV servicewill be described. The content filtering is a content selecting processof providing an end user with only content suitable for the user on thebasis of the IMS of the end user, the IPTV profile, and a set ofchannels that are subscribed to. The personalization is a process ofselecting content to be provided to the user on the basis of the profileof the user. For example, it includes a process of distributing messagesand advertisements with an individual as a target based on the userprofile.

By the content filtering, for example, only channels for which the userhas paid are displayed in an EPG or VoD list obtained by the user. Thecontent filtering makes it possible to generate and display an EPGsuitable for the logged-in user. The user profile is downloaded from aserver storing the profile, for example, the HSS 232 of the IMS network230 shown in FIG. 3, by using XCAP at the time of log-in, and is savedon the user apparatus. As for VoD, the content filtering is applied whena view of VoD provided by the server is generated or VoD metadata isreceived at the client. Note that the user profile may be stored at theclient, which is an apparatus on the user side, and this user profilemay be used.

The user profile information existing at the external server or theclient apparatus is presented to the server that provides content, andthe content providing server executes content personalization to selectand edit content on the basis of the user profile and to generate andprovide content corresponding to the user. Alternatively, theconfiguration may be such that these personalization processes areexecuted on the client side.

The content personalization includes a process of distributing messagesand advertisements with an individual as a target based on the userprofile. These data directed to a particular user are overlaid on thescreen at the user apparatus, and is displayed in, for example, a PinP(picture in picture) mode. Personalization is executed by inserting anintended advertisement when a show enters into an advertisement pausewhile the user is viewing a broadcast show or VoD content. Interactivitycan also be considered as a form of personalization based on the userprofile. Information included in interactivity data is displayed bymeans that is the same as the means for personal messages oradvertisements, i.e., by overlaying or by using a dedicated window.Personalization is distributed via a dedicated unicast channel, or by amuch smaller multicast group target to a profile set (information oflocation, age, sex, income range, etc.)

(3-2-5. Interaction with TV)

A description will be given regarding interaction with a TV program, forexample, a process in which a user on the client side send an opinion orcast a vote while viewing an IPTV service. For interactivity with atelevision program, the user can send data from the user (for example,via SMS), such as a vote. FOR EXAMPLE, the vote is collected and usedfor creating feedback information regarding the program.

Note that there is also an existing digital broadcasting system in whichinteraction with TV programs is already supported by a mechanism thatinserts a trigger in an MPEG-TS stream and that gives an interactiveobject, such as HTML or BML, at the timing of the trigger. Usually, aninteractive object is embedded in an MPEG-TS stream together with a TVprogram. However, the digital broadcasting system may distribute aninteractive object via a bilateral communication channel separated fromdistribution of the MPEG-TS stream.

A mechanism that uses a browser applied to an IPTV service is used forinteraction with TV programs. For example, reference information to anXHTML document representing interaction with a program is embedded incontent metadata. While the user is viewing the program, theinteractivity system invokes the IPTV service browser for interactionwith the program. The XHTML document is distributed via a multicast datachannel and unicast communication. Feedback of interaction isimplemented by an IPTV service browser based on unicast communication.

(3-2-6. Profile Management)

In an IPTV service, various profiles, such as a user profile of theclient, are managed. For example,

Service Profile Regarding a Service of an Operator, and a User Profile

Profiles such as fee charging, a user identifier, an authenticationvector used for an authentication process, and a service trigger, arestored and maintained on the HSS 232 of the IMS network 230 shown inFIG. 3.

Profile of the User Himself/Herself

A profile of the user himself/herself is saved on a client apparatus onthe user side.

In a case where the IPTV provider differs from the IMS provider, theIPTV provider can save a user profile specific to the IPTV provider in adatabase of its own.

IPTV Provider Profile

An IPTV provider profile as information regarding an IPTV provider canbe saved on the client side, and is also saved in a database of the IPTVprovider itself.

The user profile includes, for example, an SIP identifier, language,nationality, age (information provided by an operator and informationprovided by the user), an E-mail address, a phone number, interests andhobbies (hobby and preference information), IPTV-specific parameters,and so forth. The user profile is used for service personalization.Specifically, it becomes possible to set and provide data correspondingto the user (My . . . ) on the basis of preferences of the user. Forexample, it becomes possible to execute, by using the user profile,setting of a my channel, setting of a startup channel, and furthermore,a process of personally mapping a button to My VoD, My Pay TV, orchannel, local control, and so forth.

The IPTV provider profile includes, for example,

-   -   Information regarding which user is allowed to access which        channel    -   Subscriber profile used to determine what the user is permitted        to view and what the user is not permitted to view and so forth.

On the client side, which is an end user, user management and userprofile management are executed. The user management means that it ispossible for the user to add the user to a domain, change the user, ordelete the user. The user profile management means that the user canchange information of the user profile.

The processing steps in a case where the end user of the client performsuser management are as follows:

1. The end user provides new user information to an HTTP portal.

2. The information is sent by the HTTP portal to the IMS network 230(refer to FIG. 3) that executes user management, whereby the HSS andIPTV database are updated.

The user profile management executed by the end user of the client isexecuted, for example, by the following processes:

1. New user profile information is input to the client apparatus.

2. The client sends data to a preset profile output destination, such asa server that manages the user profile information, for example, the HSS232 or the IPTV service 250 of the IMS network 230 shown in FIG. 3.

3. Each server that has executed updating of the information notifiesthe client and other related servers of completion of the data updating.

4. The client downloads the updated user profile.

Note that the registration and updating of the user profile can also beexecuted through an IPTV service portable. In this case, the userprofile is provided from the client to the IPTV service portal, and thenthe IPTV service portal sends these data to a user profile managementserver (e.g., the HSS 232 or the IPTV service 250 of the IMS network 230shown in FIG. 3).

As described above, the data processing unit of the informationprocessing apparatus executes a process of receiving data from theexternal server as personalized data selected or edited on the basis ofa user profile, which is user information registered in advance. Thedata processing unit of the client obtains a user profile stored inadvance in a management server, for example, an HSS, and provides theuser profile obtained to an external server such as a content providingserver. Furthermore, the user profile updated at the client apparatus issent to the management server, such as an HSS, and a process of updatingthe user profile stored in the management server is executed.

The data processing unit of the client executes a process of receiving,from an external server such as a content providing server, a contentlist, advertisement information, VoD (Video on Demand) content, or thelike set as personalized data on the basis of the user profile, anddisplaying it on a display unit. Note that the user profile includes atleast a language used by the user, nationality, address, phone number,and hobby and preference information.

(3-2-7. Process of Matching with Device Capability)

It is possible to set various apparatuses as clients, and processes thatcan be executed by individual clients differ depending on the clients.That is, the device capabilities of clients are various. In order toensure interoperability between such various clients and IPTV services,a set of device capability profiles is specified to define capabilitiesrequested for clients.

In order to play content distributed to a client favorably at theclient, it is necessary to clarify the capabilities of the client. Theclient device capabilities include, for example, a screen size, a screenresolution, a size of an available memory, types of codecs supported,and so forth.

When a client device first registers a service, description of the CSCF231 device of the IMS network 230 is downloaded, and the downloadeddescription and its URI are recorded in a database or a repository andshared with other entities, such as servers. Note that in a case where aglobal repository, such as a W3C DCI repository, can be used, such as aDCI repository, the repository may be used.

In the process of matching AV content with a client device, in somecases, it is necessary to select a suitable content version. Forexample, matching of text content is implemented by using modification,combination, formatting (e.g., XSLT), or the like in accordance with aversion. An entity that executes the matching process (e.g., a targetserver or a proxy that executes transcoding) executes a process ofreceiving device capabilities and match the document according to a setof rules expressed in document metadata. This means that the contentmetadata must include rules regarding modification that must be applied,and also means that the service profile must include restrictionsregarding applied transport, terminal, and so forth.

As described above, in a content providing system including a contentproviding server and a content receiving client, the data processingunit of the content receiving client executes a process of obtainingdevice information of the client, and sending and registering the deviceinformation to a home subscriber subsystem (HSS) defined in an IPmultimedia system (IMS). The content providing server executes a processof obtaining the device information of the client, registered in theHSS, and providing the client with content suitable for the device.Specifically, the device information includes at least one of a screensize, a screen resolution, a size of available memory, and types ofcodecs supported of the client. The content providing server executes aprocess of obtaining these device information and providing the clientwith content that can be played by the device.

The present invention has been described above in detail with referenceto specific embodiments. However, obviously, it is possible for thoseskilled in the art to make modifications or alternatives withoutdeparting from the spirit of the present invention. That is, the presentinvention has been disclosed by way of examples, and the presentinvention should not be construed restrictively. The spirit of thepresent invention should be determined on the basis of the claims.

Furthermore, the series of processes described in this specification canbe executed by hardware, by software, or by combination of hardware andsoftware. When the series of processes is executed by software, aprogram in which the processing sequences are recorded can be executedby installing it on a memory of a computer embedded in special hardwareor on a general-purpose computer that is capable of executing variousprocesses. For example, the program may be recorded in advance on arecording medium. Instead of installing the program from a recordingmedium to a computer, the program can be received via a network such asa LAN (Local Area Network) or the Internet and installed on an internalrecording medium such as a hard disk.

The various processes described in this specification need notnecessarily be executed sequentially in the orders described, and may beexecuted in parallel or individually as needed or in accordance with theprocessing ability of an apparatus that executes the processes. A systemin this specification refers to a logical combination of a plurality ofapparatuses, and is not limited to one in which the constituentapparatuses are disposed within the same case.

INDUSTRIAL APPLICABILITY

As described hereinabove, according to the configuration of the presentinvention, it becomes possible for a DMP as a content playing apparatus,which is a client device in a home network, to receive content from acontent providing server outside the home network and to play thecontent. That is, a home IMS gateway, which is an information processingapparatus according to the present invention, executes communicationwith a content providing server to map the content providing server as avirtual home network device, and in response to reception of a devicediscovery request from a content playing apparatus in a home network,the home IMS gateway provides the content playing device with serverinformation of the content providing server as information of a devicethat is allowed to receive a service. Furthermore, by executing switchedreception of multicast distribution content provided by the externalserver and unicast content, it becomes possible to receive content withincreased flexibility on the client side.

1. An information processing apparatus characterized by comprising: acommunication unit that executes a communication process via a homenetwork; and a data processing unit that executes a process of receivinga content providing service provided by an external server existingoutside a home network, by using mapping information in which theexternal server is set as a virtual home network device, andcharacterized in that the data processing unit is configured to: executeswitched reception of multicast distribution content provided by theexternal server and unicast distribution content.
 2. The informationprocessing apparatus according to claim 1, characterized in that thedata processing unit is configured to execute a process of: on occasionof reception of multicast distribution content provided by the externalserver, sending an IGMP (Internet Group Management Protocol)-joinmessage to the external server or a management server as a messageaccording to IGMP, and in a case where the reception of multicastdistribution content is to be stopped and reception of unicastdistribution content is to be started, sending an IGMP leave message tothe external server or the management server as a message according toIGMP.
 3. The information processing apparatus according to claim 1,characterized in that the data processing unit is configured to: executea process of receiving multicast distribution content in reception of TVbroadcasting, and execute a process of switching to unicast distributionon occasion of execution of VoD (Video on Demand).
 4. The informationprocessing apparatus according to claim 1, characterized in that thedata processing unit is configured to: execute a process of switching tounicast distribution on occasion of an nPVR (network Personal VideoRecording) executed as a user-specific content recording process.
 5. Theinformation processing apparatus according to claim 1, characterized inthat the data processing unit is configured to: execute a process ofswitching to unicast distribution on occasion of execution of a trickplay as a special content playing process.
 6. The information processingapparatus according to claim 1, characterized in that the dataprocessing unit is configured to: execute a process of switching tounicast distribution as a process for receiving a content listcorresponding to a user profile or a client profile.
 7. An informationprocessing method executed at an information processing apparatus,characterized by executing: a communication step in which acommunication unit executes a communication process via a home network;a content receiving step in which a data processing unit executes aprocess of receiving content provided by an external server existingoutside a home network, by using mapping information in which theexternal server is set as a virtual home network device; and a contentswitching process step in which the data processing unit executesswitched reception of multicast distribution content provided by theexternal server and unicast distribution content.
 8. The informationprocessing method according to claim 7, characterized in that thecontent switching process step is a step of executing either: onoccasion of reception of multicast distribution content provided by theexternal server, sending an IGMP (Internet Group ManagementProtocol)-join message to the external server or a management server asa message according to IGMP, or in a case where the reception ofmulticast distribution content is to be stopped and reception of unicastdistribution content is to be started, sending an IGMP leave message tothe external server or the management server as a message according toIGMP.
 9. The information processing method according to claim 7,characterized in that the data processing unit executes a process ofreceiving multicast distribution content in reception of TVbroadcasting, and executes a process of switching to unicastdistribution on occasion of execution of VoD (Video on Demand).
 10. Theinformation processing method according to claim 7, characterized inthat the data processing unit executes a process of switching to unicastdistribution on occasion of an nPVR (network Personal Video Recording)executed as a user-specific content recording process.
 11. Theinformation processing method according to claim 7, characterized inthat the data processing unit executes a process of switching to unicastdistribution on occasion of execution of a trick play as a specialcontent playing process.
 12. The information processing method accordingto claim 7, characterized in that the data processing unit is configuredto execute a process of switching to unicast distribution as a processfor receiving a content list corresponding to a user profile or a clientprofile.
 13. A computer program for causing execution of informationprocessing at an information processing apparatus, characterized bycausing execution of: a communication step of causing a communicationunit to execute a communication process via a home network; a contentreceiving step of causing a data processing unit to execute a process ofreceiving content provided by an external server existing outside a homenetwork, by using mapping information in which the external server isset as a virtual home network device; and a content switching processstep of causing the data processing unit to execute switched receptionof multicast distribution content provided by the external server andunicast distribution content.